Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Jak zablokować komende w pluginie?


SamiecX

Rekomendowane odpowiedzi

Opublikowano

mniej wiecej, polowa kodu:

public class BlokowanieListener
  implements Listener
{
  @EventHandler(priority=EventPriority.HIGHEST, ignoreCancelled=true)
  public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event)
  {
    Player player = event.getPlayer();
    if (!player.hasPermission("pokaz.plugins"))
    {
      String message = event.getMessage();
      String[] splittedMessage = message.split(" ");
      String[] pluginCommands = { "/me", "/logout", "/unregister", "/logit", "/profile", "/loginhistory", "/accunlock", "/acclock", "/recoverpass", "/changeemail", "/remember", "/pl", "/plugins", "/?", "/help", "/bukkit:?", "/bukkit:pl", "/ver", "/bukkit:ver", "/bukkit:plugins" };
      if (containsIgnoreCase(pluginCommands, splittedMessage[0]))
      {
        event.setCancelled(true);
        Util.sendMsg(player, "&cTa komenda jest zablokowana...");
      }
    }
  }
 

❤ MC.PROPACRAFT.PL 


★ SKRYPTY ★


★ TECHNIK SERWERÓW MINECRAFT ★


✮ Pomogłem? Strzej lajka! ✮


 

Opublikowano

@dekros123 a dokładniej jak to zrobić xD

    @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
    public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) {
        String cmd = event.getMessage().split(" ")[0].substring(1);
        if ( cmd.equalsIgnoreCase("restart")) {
            event.setCancelled(true);
        }
    }
zamaist "restart" wrzuc co ty tam chcesz a jak chcesz więcej to możesz dodac do ifa

cmd.equals() || cmd.eq etc. albo tablice użyj ale to jak już chcesz

Co ja tutaj robie...

Gość dominik148
Opublikowano

Lol, może byś tak zarejestrował tą klasę w onEnable()?

Poleca wrócić do podstaw javy potem bukkit'a...

Opublikowano

;d

package pl.easysv.core.listeners;

import java.util.List;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import pl.easysv.core.utils.Util;

public class BlokowaneListener
  implements Listener
{
  @EventHandler(priority=EventPriority.HIGHEST, ignoreCancelled=true)
  public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event)
  {
    Player player = event.getPlayer();
    if (!player.hasPermission("pokaz.plugins"))
    {
      String message = event.getMessage();
      String[] splittedMessage = message.split(" ");
      String[] pluginCommands = { "/me", "/logout", "/unregister", "/logit", "/profile", "/loginhistory", "/accunlock", "/acclock", "/recoverpass", "/changeemail", "/remember", "/pl", "/plugins", "/?", "/help", "/bukkit:?", "/bukkit:pl", "/ver", "/bukkit:ver", "/bukkit:plugins" };
      if (containsIgnoreCase(pluginCommands, splittedMessage[0]))
      {
        event.setCancelled(true);
        Util.sendMsg(player, "&cBrak dostepu...");
      }
    }
  }
  
  public static boolean containsIgnoreCase(String[] board, String string)
  {
    String[] arrayOfString = board;int j = board.length;
    for (int i = 0; i < j; i++)
    {
      String otherstring = arrayOfString[i];
      if (otherstring.equalsIgnoreCase(string)) {
        return true;
      }
    }
    return false;
  }
  
  public static boolean containsIgnoreCase(List<String> board, String string)
  {
    for (String otherstring : board) {
      if (otherstring.equalsIgnoreCase(string)) {
        return true;
      }
    }
    return false;
  }
}

No i w Main'ie dajesz:

import pl.easysv.core.listeners.BlokowaneListener;

No i tam dalej sam sie bawisz,

no i moze cos z tego wez:

public void onLoad()
  {
    plugin = this;
  }
  
  public void onEnable()
  {
    instance = this;
    registerListener();
  }

^^

Jako buildpatha daj bukkitaapi lub spigota, i polecam ci jave 1.8, nikt juz nie robi chyba na 1.7

 

❤ MC.PROPACRAFT.PL 


★ SKRYPTY ★


★ TECHNIK SERWERÓW MINECRAFT ★


✮ Pomogłem? Strzej lajka! ✮


 

Opublikowano

@Thardess

Taki kodzik

package me.patryk9873.blockcmds;

import me.patryk9873.blockcmds.BlokowaneListener;
import java.util.List;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;

public class BlokowaneListener
  implements Listener
{
  @EventHandler(priority=EventPriority.HIGHEST, ignoreCancelled=true)
  public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event)
  {
    Player player = event.getPlayer();
    if (!player.hasPermission("pokaz.plugins"))
    {
      String message = event.getMessage();
      String[] splittedMessage = message.split(" ");
      String[] pluginCommands = { "/me", "/logout", "/unregister", "/logit", "/profile", "/loginhistory", "/accunlock", "/acclock", "/recoverpass", "/changeemail", "/remember", "/pl", "/plugins", "/?", "/help", "/bukkit:?", "/bukkit:pl", "/ver", "/bukkit:ver", "/bukkit:plugins" };
      if (containsIgnoreCase(pluginCommands, splittedMessage[0]))
      {
        event.setCancelled(true);
        player.sendMessage("&cTa komenda jest zablokowana."); 
      }
    }
  }
  
  public static boolean containsIgnoreCase(String[] board, String string)
  {
    String[] arrayOfString = board;int j = board.length;
    for (int i = 0; i < j; i++)
    {
      String otherstring = arrayOfString[i];
      if (otherstring.equalsIgnoreCase(string)) {
        return true;
      }
    }
    return false;
  }
  
  public static boolean containsIgnoreCase(List<String> board, String string)
  {
    for (String otherstring : board) {
      if (otherstring.equalsIgnoreCase(string)) {
        return true;
      }
    }
    return false;
  }
}

error w konsoli 

[19:57:25] [Server thread/ERROR]: Could not load 'plugins\BlockCmd.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Cannot find main class `me.patryk9873.blockcmds.BlokowanieListener'
	at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:66) ~[spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:336) ~[spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:258) [spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugins(CraftServer.java:369) [spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:152) [spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:458) [spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
Caused by: java.lang.ClassNotFoundException: me.patryk9873.blockcmds.BlokowanieListener
	at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_121]
	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_121]
	at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_121]
	at java.lang.Class.forName0(Native Method) ~[?:1.8.0_121]
	at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_121]
	at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	... 7 more
Gość dominik148
Opublikowano

....

package me.patryk9873.blockcmds;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;

public class BlokowaneListener extends JavaPlugin implements Listener {
	
	public void onEnable() {
		Bukkit.getPluginManager().registerEvents((Listener)this, (Plugin)this);
    }
	
	@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
    public void onPlayerCommandPreprocess(final PlayerCommandPreprocessEvent event) {
        final Player player = event.getPlayer();
        if (!player.hasPermission("plugin.info")) {
            final String message = event.getMessage();
            final String[] splittedMessage = message.split(" ");
            final String[] pluginCommands = { "/pl", "/plugins", "/?", "/help", "/ver", "/version", "/bukkit", "/bukkit:pl", "/bukkit:plugins", "/bukkit:ver", "/bukkit:version", "/icanhasbukkit", "/bukkit:help", "/bukkit:?", "/about"};
            if (containsIgnoreCase(pluginCommands, splittedMessage[0])) {
                event.setCancelled(true);
                player.sendMessage("Ta komenda jest zablokowana.");
            }
        }
   }
	
   public static boolean containsIgnoreCase(final String[] board, final String string) {
        for (final String o : board) {
            if (o.equalsIgnoreCase(string)) {
                return true;
            }
        }
        return false;
    }
}
Opublikowano

@dominik148

[20:05:23] [Server thread/ERROR]: Could not load 'plugins\BlockCmd.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Cannot find main class `me.patryk9873.blockcmds.BlokowanieListener'
	at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:66) ~[spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:336) ~[spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:258) [spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugins(CraftServer.java:369) [spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:152) [spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:458) [spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
Caused by: java.lang.ClassNotFoundException: me.patryk9873.blockcmds.BlokowanieListener
	at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_121]
	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_121]
	at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_121]
	at java.lang.Class.forName0(Native Method) ~[?:1.8.0_121]
	at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_121]
	at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[spigot-1.7.10-SNAPSHOT-b1657.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
	... 7 more
Gość dominik148
Opublikowano

org.bukkit.plugin.InvalidPluginException: Cannot find main class `me.patryk9873.blockcmds.BlokowanieListener'

PO POLSKU:

 

org.bukkit.plugin.InvalidPluginException: Nie można znaleźć głównej klasy `me.patryk9873.blockcmds.BlokowanieListener'

Pokaż plugin.yml

Opublikowano

Daj jeszcze raz z plugin.yml kod.

 

❤ MC.PROPACRAFT.PL 


★ SKRYPTY ★


★ TECHNIK SERWERÓW MINECRAFT ★


✮ Pomogłem? Strzej lajka! ✮


 

Opublikowano
org.bukkit.plugin.InvalidPluginException: Cannot find main class `me.patryk9873.blockcmds.BlokowanieListener'

Nie moze znalezc glownej klasy, ktora dales w plugin.yml,

czyli:

Main: me.patryk9873.blockcmds.BlokowanieListener

 

Daj liste wszystkich package'ow

I kod z plugin.yml oraz z tej klasy, komu chce sie szukac

 

 

I wiecej takich tematow nie rob.

Naucz sie javy z javastart.pl, to juz twoj nastepny temat, znowu jakis problem z "autorskim pluginem"..

 

❤ MC.PROPACRAFT.PL 


★ SKRYPTY ★


★ TECHNIK SERWERÓW MINECRAFT ★


✮ Pomogłem? Strzej lajka! ✮


 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...