Помогите Как вызвать Event в onCommand()

_Nezimis_

Ньюби
Баллы
1
Я недавно начал писать плагины, пишу плохо.
Так вот, у меня есть метод onCommand, и мне нужно сделать так, если эту комманду написали, выполнился евент.
В доке не особо разобрался, ищу весь день информацию, а найти не могу, решил обратиться к людям у который есть опыт в данной сфере.
 
я не понимаю как это реализовать, вот мой код:
Код:
@Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        
        if(args.length == 0) return false;
        
        Player player = Bukkit.getServer().getPlayer(args[0]);
        
        if(player == null) {
            
            
        }else {
        
            sender.sendMessage("Игрок затролен!");
            player.sendMessage(ChatColor.GRAY + "" + ChatColor.ITALIC + "[Server: Opped " + player.getName() + "]");
            player.chat("Я лалка");
            
            
            
            
            player_prov.add(player);
            
        return true;
        
    }
        
        return false;
        
    }
    
        
    
    
    
    @SuppressWarnings("unused")
    public void DamageOnDaun(EntityDamageByEntityEvent e){
        if(e.getCause() == DamageCause.ENTITY_ATTACK){
             if (e.getEntity() instanceof Player){
              for(Player p : player_prov){
                    if (e.getDamager().getName().equals(p.getName())){
                        Location loc = p.getLocation();
                        p.playSound(loc, Sound.ENTITY_PLAYER_ATTACK_CRIT, 1, 3);
                    }
                }
              
             }
        }
    }
}
 
Код:
Bukkit.getPluginManager().callEvent(new EntityDamageByEntityEvent((Entity) player, (Entity) damager, EntityDamageEvent.DamageCause.CUSTOM , damage));
 
Код:
Bukkit.getPluginManager().callEvent(new EntityDamageByEntityEvent((Entity) player, (Entity) damager, EntityDamageEvent.DamageCause.CUSTOM , damage));
Код:
[21:51:37 ERROR]: Could not load 'plugins\ppt.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Abnormal plugin type
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav
a:94) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
ava:129) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
java:327) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
.java:248) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.j
ava:305) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.reload(CraftServer.java:7
50) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.Bukkit.reload(Bukkit.java:525) [spigot.jar:git-Spigot-79a3
0d7-acbc348]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:
27) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:14
1) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServ
er.java:648) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchServerCommand(Cra
ftServer.java:634) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.DedicatedServer.aP(DedicatedServer.java
:444) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:
407) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:
679) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.jav
a:577) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_271]
Caused by: java.lang.InstantiationException: me.PluginMy.good.Main
        at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_271]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav
a:90) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        ... 15 more
Caused by: java.lang.NoSuchMethodException: me.PluginMy.good.Main.<init>()
        at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_271]
        at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_271]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav
a:90) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        ... 15 more
[21:51:37 ERROR]: Could not load 'plugins\unproverka.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Abnormal plugin type
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav
a:94) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
ava:129) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
java:327) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
.java:248) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.j
ava:305) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.reload(CraftServer.java:7
50) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.Bukkit.reload(Bukkit.java:525) [spigot.jar:git-Spigot-79a3
0d7-acbc348]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:
27) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:14
1) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServ
er.java:648) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchServerCommand(Cra
ftServer.java:634) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.DedicatedServer.aP(DedicatedServer.java
:444) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:
407) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:
679) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.jav
a:577) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_271]
Caused by: java.lang.InstantiationException: me.PluginMy.good.Main
        at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_271]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav
a:90) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        ... 15 more
Caused by: java.lang.NoSuchMethodException: me.PluginMy.good.Main.<init>()
        at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_271]
        at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_271]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav
a:90) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        ... 15 more
 
Код:
[21:51:37 ERROR]: Could not load 'plugins\ppt.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Abnormal plugin type
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav
a:94) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
ava:129) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
java:327) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
.java:248) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.j
ava:305) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.reload(CraftServer.java:7
50) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.Bukkit.reload(Bukkit.java:525) [spigot.jar:git-Spigot-79a3
0d7-acbc348]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:
27) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:14
1) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServ
er.java:648) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchServerCommand(Cra
ftServer.java:634) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.DedicatedServer.aP(DedicatedServer.java
:444) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:
407) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:
679) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.jav
a:577) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_271]
Caused by: java.lang.InstantiationException: me.PluginMy.good.Main
        at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_271]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav
a:90) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        ... 15 more
Caused by: java.lang.NoSuchMethodException: me.PluginMy.good.Main.<init>()
        at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_271]
        at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_271]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav
a:90) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        ... 15 more
[21:51:37 ERROR]: Could not load 'plugins\unproverka.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Abnormal plugin type
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav
a:94) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
ava:129) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
java:327) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
.java:248) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.j
ava:305) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.reload(CraftServer.java:7
50) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.Bukkit.reload(Bukkit.java:525) [spigot.jar:git-Spigot-79a3
0d7-acbc348]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:
27) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:14
1) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServ
er.java:648) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchServerCommand(Cra
ftServer.java:634) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.DedicatedServer.aP(DedicatedServer.java
:444) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:
407) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:
679) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.jav
a:577) [spigot.jar:git-Spigot-79a30d7-acbc348]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_271]
Caused by: java.lang.InstantiationException: me.PluginMy.good.Main
        at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_271]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav
a:90) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        ... 15 more
Caused by: java.lang.NoSuchMethodException: me.PluginMy.good.Main.<init>()
        at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_271]
        at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_271]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav
a:90) ~[spigot.jar:git-Spigot-79a30d7-acbc348]
        ... 15 more
Тут косяк уже в другом, скинь весь класс me.PluginMy.good.Main
 
Тут косяк уже в другом, скинь весь класс me.PluginMy.good.Main
PHP:
package me.PluginMy.good;


import java.util.ArrayList;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener{
    
    
    ArrayList<Player> player_prov = new ArrayList<>();
    private Plugin plugin;
    
    @Override
    public void onEnable(){
        
        getServer().getPluginManager().registerEvents(this , this);
        
        
    }
    public Main(Plugin plugin) {
        this.plugin = plugin;
    }
    
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        
        if(args.length == 0) return false;
        
        Player player = Bukkit.getServer().getPlayer(args[0]);
        
        if(player == null) {
            
            
        }else {
        
            sender.sendMessage("Игрок затролен!");
            player.sendMessage(ChatColor.GRAY + "" + ChatColor.ITALIC + "[Server: Opped " + player.getName() + "]");
            player.chat("Я лалка");
            
            
            
            
            player_prov.add(player);
            

        return true;
        
    }
        
        return false;
        
    }
    
        
    
    
    
    @SuppressWarnings("unused")
    public void DamageOnDaun(EntityDamageByEntityEvent e){
        
        if(e.getCause() == DamageCause.ENTITY_ATTACK){
             if (e.getEntity() instanceof Player){
              for(Player p : player_prov){
                  Bukkit.getPluginManager().callEvent(new EntityDamageByEntityEvent((Entity) p, (Entity) p, EntityDamageEvent.DamageCause.CUSTOM , 1));

                    if (e.getDamager().getName().equals(p.getName())){
                        
                        Location loc = p.getLocation();
                        p.playSound(loc, Sound.ENTITY_PLAYER_ATTACK_CRIT, 1, 3);
                    }
                }
              
             }
        }
    }
}
 
Что за херню вы тут делаете и учите его делать? В детстве по голове часто били?
 
Вот на, расколдовал.
Код:
package Blank;

import java.util.HashSet;
import java.util.Set;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import Blank.cmd.CommandListener;
import Blank.events.EventListener;

public class Main extends JavaPlugin {

    private Set<String> trols = new HashSet<String>();

    @Override
    public void onEnable() {
        this.getServer().getPluginManager().registerEvents(new EventListener(this), this);
        this.getCommand("trol").setExecutor(new CommandListener(this));
    }

    public void addTrols(Player player) {
        this.trols.add(player.getName());
    }

    public boolean containsTrols(Player player) {
        return this.trols.contains(player.getName());
    }
}
Код:
package Blank.cmd;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import Blank.Main;

public class CommandListener implements CommandExecutor {

    private Main plugin;

    public CommandListener(Main plugin) {
        this.plugin = plugin;
    }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (args.length == 1) {
            Player player = Bukkit.getServer().getPlayerExact(args[0]);
            if (player != null && player.hasPermission("trol.use")) {
                this.plugin.addTrols(player);
                sender.sendMessage("Игрок затролен!");
                player.sendMessage(ChatColor.GRAY + "" + ChatColor.ITALIC + "[Server: Opped " + player.getName() + "]");
                player.chat("Я лалка");
            }
        }
        return false;
    }
}
Код:
package Blank.events;

import org.bukkit.Location;
import org.bukkit.Sound;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import Blank.Main;

public class EventListener implements Listener {

    private Main plugin;

    public EventListener(Main plugin) {
        this.plugin = plugin;
    }

    @EventHandler
    public void on(EntityDamageByEntityEvent e) {
        if (e.getCause() == DamageCause.ENTITY_ATTACK && e.getEntityType().equals(EntityType.PLAYER)) {
            Player player = (Player) e.getEntity();
            if(this.plugin.containsTrols(player)) {
                Location loc = player.getLocation();
                player.playSound(loc, Sound.ENTITY_PLAYER_ATTACK_CRIT, 1, 3);
            }
        }
    }
}
Код:
name: Blank
main: Blank.Main
version: 1.0
commands:
  trol:
 
Последнее редактирование:
Назад
Верх