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

[DL] idekCmds - mini tools'y.


Rekomendowane odpowiedzi

Opublikowano

#################################


################################


###############################


#idekCmds - Mini Toolsy na twój serwer#


################################


#################################


##################################


 


Witajcie, chciałbym wam zaprezentować moje autorskie "mini toolsy".


W toolsach są takie ( obecnie 08.11.14 )


 


To Do:


 


- Bany


- Kicki


- Połączenie z mysql


- Auto messages


- Fly


- Gm


- Config


- SpeedFly


 


Komendy:


 


- /Broadcast - pisanie ogłoszeń


- /CmdsReload - przeladowuje cfg ( jeszcze nie działa )


- /Tp - Teleportacja


- /Msg - Pisanie prytwatnych wiadomości


- /Ulecz - Można się uleczać


 


Permisje:


 


cmds.msg


cmds.tp


cmds.broadcast


cmds.ulecz


cmds.cmdsreload


 


 


Listenery:


 


- Wiadomość podczas wchodzenia/wychodzenia z serwera ( nie testowana )


- Tnt działa pomiędzy 12,a 22


 


Plugin będzie aktualizowany, i w każdej aktualizacji zostanie coś dodane i zmienione.


Jest kilka innych komend, ale jest duże prawdopodobieństwo ,że nie działają.


 


Download:


 


Link:


1.0


 https://www.dropbox.com/s/v081t1hp20uy1kn/CmdsPlugin%20-%20Idekator.jar?dl=0


Skan: https://www.virustotal.com/pl/file/299fadc366cd06e5e82cc209c6ed679c649baf9dda3ca7906fd45e3d330ead2b/analysis/1415459880/


 


Aktualizacje:


 


1.0 - Wydanie pluginu - 08.11.14


 


Dzięki :)


P.S Pisane w 2 stylach :)


Opublikowano

Milo że się uczysz pisać pluginy itd, ale niezbyt widzę sens wrzucania pluginów które już istnieją w 200 kopiach? :/
 
To ja się pobawię w @Karolina_666 bo ostatnio coś przestała oceniać pluginy :D (leń)
 
1.

  public final Logger logger = Logger.getLogger("Minecraft");

Używaj

 Bukkit.getLogger();

2. Te zmienne nie są ci potrzebnie, nigdzie ich nie używasz

  public final JoinLeaveListener JLL = new JoinLeaveListener(this);
  public final TntListener TNT = new TntListener(this);

3. I chyba najdziwniejsze...

  public static CmdsPlugin plugin;
  public static CmdsPlugin instance;

2x to samo, i obu nigdzie nie używasz.

Do tego masz w komendach:

  CmdsPlugin plugin;
  
  public CmdsReload(CmdsPlugin plugin) {}

Jaki ma sens ta zmienna, skoro nigdzie nic do niej nie przypisujesz? :(

I po co ona, skoro w głównej klasie już masz taką zmienną, wystarczy użyć CmdsPlugin.instance

 

PS by przypisać robisz tak:

  CmdsPlugin plugin;
  
  public CmdsReload(CmdsPlugin plugin) {
    this.plugin = plugin;
  }

A przez to że nie uzywasz ani 1, ani 2 metody, to 

  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  {
    if (sender.hasPermission("cmds.reload"))
    {
      plugin.reloadConfig();

wywali error, bo "plugin" jest nullem

 

 

Do tego w niektórych klasach masz konstruktor

  public Ulecz(CmdsPlugin plugin) {}

i nawet nie masz tej pustej zmiennej, więc po co ten konstruktor? możesz go spokojnie usunąć, i wtedy możesz w onenable rejestrować:

 getCommand("Ulecz").setExecutor(new Ulecz());

4.

    getConfig().options().copyDefaults(true);
    saveConfig(); 

Tego też nie potrzebujesz, nie masz żadnego pliku konfiguracyjnego.

 

5. 

  public String color(String string)
  {
    return string.replaceAll("&([0-9a-z])", "§1");
  }

Po 1: źle, powinno być "§$1", po 2 jeszcze gorzej :D

W bukkcie jest gotowa metoda do robienia takich rzeczy ;)

Poprawiona metoda:

  public String color(String string)
  {
    return ChatColor.translateAlternateColorCodes('&', string);
  }

ChatColor.translateAlternateColorCodes zmienia wybrany znak, w tym przypadku &, w danym stringu na §, ale tylko jeśli jest to kod koloru, więc &y nic nie zmieni.

+ jest jakieś 10x szybsze i 2x wygodniejsze ;) 

 

 

6.

Skoro rejestrujesz jedną komendę do jednego executora:

getCommand("Msg").setExecutor(new Msg(this));

To po co sprawdzasz:

if (l.equalsIgnoreCase("msg"))

Nie musisz tego robić + robisz to źle, ten string "l" to jest to co dokładnie wpisał gracz, czyli sprawdzając ten string, blokujesz możliwość tworzenia aliasów do tej komendy.

Jak już jest jakaś potrzeba sprawdzania należy to zrobić tak:

if(cmd.getName().equals("Msg"))

cmd.getName() zwraca dokładnie taką nazwę jaka jest w plugin.yml

 

7. Nazwy komend powinny być z malych liter, zamiast "Msg" w plugin.yml jak i podczas rejestrowania z getCommand, powinno być "msg" i tak samo z innymi komendami.

 

8.

 if (args.length <= 1) {
        sender.sendMessage(ChatColor.RED + "Za malo argumentow !");
      } else if (Bukkit.getServer().getPlayer(args[0]) != null)
      {
        if ((sender instanceof Player))
        {
          Player p = (Player)sender;
          Player pt = Bukkit.getServer().getPlayer(args[0]);

Niepotrzebnie robisz 2x to samo.

Bukkit.getServer().getPlayer(args[0]) != null

a potem

Player pt = Bukkit.getServer().getPlayer(args[0]);

 

zawsze możesz robić coś w stylu:

Player pt = Bukkit.getOnlinePlayer(args[0]);
if (pt == null)
{
    // wiadomość blędu
    return true;
}

9. 

Komendy powinny mieć "return true", "return false" powiadamia bukkita że coś poszło źle, i komenda zawiodła.

 

 

 

 

Widać że uczyłeś się z jakiegoś poradnika, ale niezbyt rozumiałeś to co piszesz, nie przepisuj kodu, staraj się go zrozumieć i zobaczyć co i jak działa.

Bo inaczej to powstają właśnie takie dziwne kody, które nie mają sensu zbytnio.

 

Ucz się dalej, ale zacznij też próbować to rozumieć, bo inaczej to się nie da nic osiągnąć (chyba logiczne?) :P

 

PS: nie miej tego "wytykania błędów" za złe, potraktuj to jako rady by nie robić później takich samych błędów ;)

1438614356923701010629.png

 

Opublikowano

Temu pluginowi daje mocne 5/10 xD

Jak dodasz więcej opcji lub innych rzeczy to wtedy będzie ok. A tak to na razie są lepsze plaginy :P

@Edit I jak jeszcze dodasz config żeby można było zmienić zmienne to by było super :D

531001454960877632167.png

Opublikowano

Milo że się uczysz pisać pluginy itd, ale niezbyt widzę sens wrzucania pluginów które już istnieją w 200 kopiach? :/

 

To ja się pobawię w @Karolina_666 bo ostatnio coś przestała oceniać pluginy :D (leń)

 

1.

  public final Logger logger = Logger.getLogger("Minecraft");

Używaj

 Bukkit.getLogger();

2. Te zmienne nie są ci potrzebnie, nigdzie ich nie używasz

  public final JoinLeaveListener JLL = new JoinLeaveListener(this);
  public final TntListener TNT = new TntListener(this);

3. I chyba najdziwniejsze...

  public static CmdsPlugin plugin;
  public static CmdsPlugin instance;

2x to samo, i obu nigdzie nie używasz.

Do tego masz w komendach:

  CmdsPlugin plugin;
  
  public CmdsReload(CmdsPlugin plugin) {}

Jaki ma sens ta zmienna, skoro nigdzie nic do niej nie przypisujesz? :(

I po co ona, skoro w głównej klasie już masz taką zmienną, wystarczy użyć CmdsPlugin.instance

 

PS by przypisać robisz tak:

  CmdsPlugin plugin;
  
  public CmdsReload(CmdsPlugin plugin) {
    this.plugin = plugin;
  }

A przez to że nie uzywasz ani 1, ani 2 metody, to 

  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  {
    if (sender.hasPermission("cmds.reload"))
    {
      plugin.reloadConfig();

wywali error, bo "plugin" jest nullem

 

 

Do tego w niektórych klasach masz konstruktor

  public Ulecz(CmdsPlugin plugin) {}

i nawet nie masz tej pustej zmiennej, więc po co ten konstruktor? możesz go spokojnie usunąć, i wtedy możesz w onenable rejestrować:

 getCommand("Ulecz").setExecutor(new Ulecz());

4.

    getConfig().options().copyDefaults(true);
    saveConfig(); 

Tego też nie potrzebujesz, nie masz żadnego pliku konfiguracyjnego.

 

5. 

  public String color(String string)
  {
    return string.replaceAll("&([0-9a-z])", "§1");
  }

Po 1: źle, powinno być "§$1", po 2 jeszcze gorzej :D

W bukkcie jest gotowa metoda do robienia takich rzeczy ;)

Poprawiona metoda:

  public String color(String string)
  {
    return ChatColor.translateAlternateColorCodes('&', string);
  }

ChatColor.translateAlternateColorCodes zmienia wybrany znak, w tym przypadku &, w danym stringu na §, ale tylko jeśli jest to kod koloru, więc &y nic nie zmieni.

+ jest jakieś 10x szybsze i 2x wygodniejsze ;)

 

 

6.

Skoro rejestrujesz jedną komendę do jednego executora:

getCommand("Msg").setExecutor(new Msg(this));

To po co sprawdzasz:

if (l.equalsIgnoreCase("msg"))

Nie musisz tego robić + robisz to źle, ten string "l" to jest to co dokładnie wpisał gracz, czyli sprawdzając ten string, blokujesz możliwość tworzenia aliasów do tej komendy.

Jak już jest jakaś potrzeba sprawdzania należy to zrobić tak:

if(cmd.getName().equals("Msg"))

cmd.getName() zwraca dokładnie taką nazwę jaka jest w plugin.yml

 

7. Nazwy komend powinny być z malych liter, zamiast "Msg" w plugin.yml jak i podczas rejestrowania z getCommand, powinno być "msg" i tak samo z innymi komendami.

 

8.

 if (args.length <= 1) {
        sender.sendMessage(ChatColor.RED + "Za malo argumentow !");
      } else if (Bukkit.getServer().getPlayer(args[0]) != null)
      {
        if ((sender instanceof Player))
        {
          Player p = (Player)sender;
          Player pt = Bukkit.getServer().getPlayer(args[0]);

Niepotrzebnie robisz 2x to samo.

Bukkit.getServer().getPlayer(args[0]) != null

a potem

Player pt = Bukkit.getServer().getPlayer(args[0]);

 

zawsze możesz robić coś w stylu:

Player pt = Bukkit.getOnlinePlayer(args[0]);
if (pt == null)
{
    // wiadomość blędu
    return true;
}

9. 

Komendy powinny mieć "return true", "return false" powiadamia bukkita że coś poszło źle, i komenda zawiodła.

 

 

 

 

Widać że uczyłeś się z jakiegoś poradnika, ale niezbyt rozumiałeś to co piszesz, nie przepisuj kodu, staraj się go zrozumieć i zobaczyć co i jak działa.

Bo inaczej to powstają właśnie takie dziwne kody, które nie mają sensu zbytnio.

 

Ucz się dalej, ale zacznij też próbować to rozumieć, bo inaczej to się nie da nic osiągnąć (chyba logiczne?) :P

 

PS: nie miej tego "wytykania błędów" za złe, potraktuj to jako rady by nie robić później takich samych błędów ;)

Dzięki za rady

PS: Bardzo się rozpisałeś :)

 

Temu pluginowi daje mocne 5/10 xD

Jak dodasz więcej opcji lub innych rzeczy to wtedy będzie ok. A tak to na razie są lepsze plaginy :P

@Edit I jak jeszcze dodasz config żeby można było zmienić zmienne to by było super :D

Wiem wiem, po to dodałem rzeczy ( przygotowałem sobie do cfg )

Opublikowano

Prosze zmienić tyt

 

To wszystko + lista "to do" by mi mniej miejsca zajęła niż twój cały kod :/

Staraj sie skracać kod :)

Dzięki :DD .a co najbardziej ?

 

@topic

Prosze zmienić tytuł  z

[DL] ]idekCmds - mini tools! na : [Dl]idekCmds - mini tools'y

Opublikowano

W jakim znaczeniu dodać?

Ty dodasz, czy ja mam dodać.

Jak ja to dodam.

Jak chcesz też możesz dodać :)

Ale zakazuje podpisywania się ,że jest to twoje itp... :)

Chodzi o to żebyś ty dodał to bo mi się w edytowanie nie chce :P

Po prostu daję ci pomysły jakie możesz dodać :)

531001454960877632167.png

Opublikowano

Milo że się uczysz pisać pluginy itd, ale niezbyt widzę sens wrzucania pluginów które już istnieją w 200 kopiach? :/

 

To ja się pobawię w @Karolina_666 bo ostatnio coś przestała oceniać pluginy :D (leń)

 

1.

  public final Logger logger = Logger.getLogger("Minecraft");

Używaj

 Bukkit.getLogger();

2. Te zmienne nie są ci potrzebnie, nigdzie ich nie używasz

  public final JoinLeaveListener JLL = new JoinLeaveListener(this);
  public final TntListener TNT = new TntListener(this);

3. I chyba najdziwniejsze...

  public static CmdsPlugin plugin;
  public static CmdsPlugin instance;

2x to samo, i obu nigdzie nie używasz.

Do tego masz w komendach:

  CmdsPlugin plugin;
  
  public CmdsReload(CmdsPlugin plugin) {}

Jaki ma sens ta zmienna, skoro nigdzie nic do niej nie przypisujesz? :(

I po co ona, skoro w głównej klasie już masz taką zmienną, wystarczy użyć CmdsPlugin.instance

 

PS by przypisać robisz tak:

  CmdsPlugin plugin;
  
  public CmdsReload(CmdsPlugin plugin) {
    this.plugin = plugin;
  }

A przez to że nie uzywasz ani 1, ani 2 metody, to 

  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  {
    if (sender.hasPermission("cmds.reload"))
    {
      plugin.reloadConfig();

wywali error, bo "plugin" jest nullem

 

 

Do tego w niektórych klasach masz konstruktor

  public Ulecz(CmdsPlugin plugin) {}

i nawet nie masz tej pustej zmiennej, więc po co ten konstruktor? możesz go spokojnie usunąć, i wtedy możesz w onenable rejestrować:

 getCommand("Ulecz").setExecutor(new Ulecz());

4.

    getConfig().options().copyDefaults(true);
    saveConfig(); 

Tego też nie potrzebujesz, nie masz żadnego pliku konfiguracyjnego.

 

5. 

  public String color(String string)
  {
    return string.replaceAll("&([0-9a-z])", "§1");
  }

Po 1: źle, powinno być "§$1", po 2 jeszcze gorzej :D

W bukkcie jest gotowa metoda do robienia takich rzeczy ;)

Poprawiona metoda:

  public String color(String string)
  {
    return ChatColor.translateAlternateColorCodes('&', string);
  }

ChatColor.translateAlternateColorCodes zmienia wybrany znak, w tym przypadku &, w danym stringu na §, ale tylko jeśli jest to kod koloru, więc &y nic nie zmieni.

+ jest jakieś 10x szybsze i 2x wygodniejsze ;)

 

 

6.

Skoro rejestrujesz jedną komendę do jednego executora:

getCommand("Msg").setExecutor(new Msg(this));

To po co sprawdzasz:

if (l.equalsIgnoreCase("msg"))

Nie musisz tego robić + robisz to źle, ten string "l" to jest to co dokładnie wpisał gracz, czyli sprawdzając ten string, blokujesz możliwość tworzenia aliasów do tej komendy.

Jak już jest jakaś potrzeba sprawdzania należy to zrobić tak:

if(cmd.getName().equals("Msg"))

cmd.getName() zwraca dokładnie taką nazwę jaka jest w plugin.yml

 

7. Nazwy komend powinny być z malych liter, zamiast "Msg" w plugin.yml jak i podczas rejestrowania z getCommand, powinno być "msg" i tak samo z innymi komendami.

 

8.

 if (args.length <= 1) {
        sender.sendMessage(ChatColor.RED + "Za malo argumentow !");
      } else if (Bukkit.getServer().getPlayer(args[0]) != null)
      {
        if ((sender instanceof Player))
        {
          Player p = (Player)sender;
          Player pt = Bukkit.getServer().getPlayer(args[0]);

Niepotrzebnie robisz 2x to samo.

Bukkit.getServer().getPlayer(args[0]) != null

a potem

Player pt = Bukkit.getServer().getPlayer(args[0]);

 

zawsze możesz robić coś w stylu:

Player pt = Bukkit.getOnlinePlayer(args[0]);
if (pt == null)
{
    // wiadomość blędu
    return true;
}

9. 

Komendy powinny mieć "return true", "return false" powiadamia bukkita że coś poszło źle, i komenda zawiodła.

 

 

 

 

Widać że uczyłeś się z jakiegoś poradnika, ale niezbyt rozumiałeś to co piszesz, nie przepisuj kodu, staraj się go zrozumieć i zobaczyć co i jak działa.

Bo inaczej to powstają właśnie takie dziwne kody, które nie mają sensu zbytnio.

 

Ucz się dalej, ale zacznij też próbować to rozumieć, bo inaczej to się nie da nic osiągnąć (chyba logiczne?) :P

 

PS: nie miej tego "wytykania błędów" za złe, potraktuj to jako rady by nie robić później takich samych błędów ;)

Tak jest jak się kod przepisuje....

ps dodaj speedyfly i waldspeed to pluginu jak mowi @kondziu98

ps2 daje ci podpowiedz ^^

  public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
  {
    Player p = (Player)sender;
    PlayerInventory pi = p.getInventory();
    if (!(sender instanceof Player)) {
      p.sendMessage(ChatColor.RED + "Tylko gracze moga uzyc tej komendy!");
    }
    if (cmd.getName().equalsIgnoreCase("flyspeed"))
    {
      if (!sender.hasPermission("gowno.flyspeed")) {
        p.sendMessage(ChatColor.RED + "Brak uprawnien!");
      }
      if (args.length == 0)
      {
        p.sendMessage(ChatColor.GOLD + "Twoja szybkosc latania zostala ustawiona na " + 
          ChatColor.BLUE + "1");
        p.setFlySpeed(1.0F);
        return true;
Opublikowano

Chodzi o to żebyś ty dodał to bo mi się w edytowanie nie chce :P

Po prostu daję ci pomysły jakie możesz dodać :)

Dzięki :) Dodam w którejś wersji, ale najpierw edytne koda

Opublikowano

Jeszcze dodam jedno.

odrazu mogles dodac fly.

to kilka linijek kodi

    if (cmd.getName().equalsIgnoreCase("fly"))
    {
      if (!sender.hasPermission("gufno.fly")) {
        p.sendMessage(ChatColor.RED + "Brak uprawnien!");
      }
      if (args.length == 0) {
        if (p.isFlying())
        {
          p.setAllowFlight(false);
          p.setFlying(false);
          p.sendMessage(ChatColor.GOLD + "Latanie: " + ChatColor.BLUE + 
            "Wylaczone");
        }
        else if (!p.isFlying())
        {
          p.setAllowFlight(true);
          p.setFlying(true);
          p.sendMessage(ChatColor.GOLD + "Latanie: " + ChatColor.BLUE + 
            "Wlaczone");
        }
      }

a gm... omg

wystarczy takie cuś:

 p.setGameMode(GameMode.SURVIVAL);

zrobiłeś tnt które się wyłącza i włącza o danej godzinie a gm itp nie? Podejrzane ;)

Opublikowano

Jeszcze dodam jedno.

odrazu mogles dodac fly.

to kilka linijek kodi

    if (cmd.getName().equalsIgnoreCase("fly"))
    {
      if (!sender.hasPermission("gufno.fly")) {
        p.sendMessage(ChatColor.RED + "Brak uprawnien!");
      }
      if (args.length == 0) {
        if (p.isFlying())
        {
          p.setAllowFlight(false);
          p.setFlying(false);
          p.sendMessage(ChatColor.GOLD + "Latanie: " + ChatColor.BLUE + 
            "Wylaczone");
        }
        else if (!p.isFlying())
        {
          p.setAllowFlight(true);
          p.setFlying(true);
          p.sendMessage(ChatColor.GOLD + "Latanie: " + ChatColor.BLUE + 
            "Wlaczone");
        }
      }

a gm... omg

wystarczy takie cuś:

 p.setGameMode(GameMode.SURVIVAL);

zrobiłeś tnt które się wyłącza i włącza o danej godzinie a gm itp nie? Podejrzane ;)

hmmm co tutaj jest podejrzane ? Zrobiłem dodatkowo, bo miało być pod mój serwer :)

A może się komuś przyda :)

Opublikowano

Cześc, patrząc na ten plugin, jest on wart podziwu..

Mógłbyś dodać coś oryginalnego np: gdy piszesz /gamemode - Wyskakuję Ci gui i wybierasz np: Creative,Survival,Adventure..
Mam nadzieje, że plugin będzie aktualizowany.

#Pozdrawiam 

#Jeżeli owy administrator dał mi warna, proszę przeczytaj:

Forum dyskusyjne – przeniesiona do struktury stron WWW forma grup dyskusyjnych, która służy do wymiany informacji i poglądów między osobami o podobnych zainteresowaniach przy użyciu przeglądarki internetowej. Na Forum nie istnieje off-topic, połowa administracja mpcforum nie wie co to "off-topic"...

Opublikowano

Bardzo Fajny Na pewno Będę używał Wielki "+" Dla Ciebie :  >

Dziękkki :) Ale nie spam prosze :)

 

Cześc, patrząc na ten plugin, jest on wart podziwu..

 

Mógłbyś dodać coś oryginalnego np: gdy piszesz /gamemode - Wyskakuję Ci gui i wybierasz np: Creative,Survival,Adventure..

Mam nadzieje, że plugin będzie aktualizowany.

 

#Pozdrawiam 

No spoko pomyśle :)

Może akurat dodam ;)

Opublikowano

zaje biste 2/10

 

nie rób żadnych gui bo zaraz cie bardziej zhejcą ze zapierdalasz od smartadmin

ja nie będe tego używał bo ty taki knypek w porównaniu do autora essentials to nic

napisz coś co jest na twoje umiejętności bo potem będziesz do każdego pisał jak to zrobić

kuku ma więcej doświadczenia i ma pomocnika więc mu jest łatwiej.

zacznij od małych pluginów.

Opublikowano

Jeszcze dodam jedno.

odrazu mogles dodac fly.

to kilka linijek kodi

    if (cmd.getName().equalsIgnoreCase("fly"))
    {
      if (!sender.hasPermission("gufno.fly")) {
        p.sendMessage(ChatColor.RED + "Brak uprawnien!");
      }
      if (args.length == 0) {
        if (p.isFlying())
        {
          p.setAllowFlight(false);
          p.setFlying(false);
          p.sendMessage(ChatColor.GOLD + "Latanie: " + ChatColor.BLUE + 
            "Wylaczone");
        }
        else if (!p.isFlying())
        {
          p.setAllowFlight(true);
          p.setFlying(true);
          p.sendMessage(ChatColor.GOLD + "Latanie: " + ChatColor.BLUE + 
            "Wlaczone");
        }
      }

a gm... omg

wystarczy takie cuś:

 p.setGameMode(GameMode.SURVIVAL);

zrobiłeś tnt które się wyłącza i włącza o danej godzinie a gm itp nie? Podejrzane ;)

Trochę ci poprawie tego flay'a na krócej :)

Co do pluginu jest okej jak na początek, rozwijaj go ;)

if (cmd.getName().equalsIgnoreCase("fly")) {
    if (!sender.hasPermission("gufno.fly")) {
        p.sendMessage(ChatColor.RED + "Brak uprawnien!");
        return true;
    }
    if (args.length == 0) {
        p.setAllowFlight(!p.getAllowFlight());
        p.sendMessage("Latanie: " + (player.getAllowFlight() ? "wlaczone" : "wylaczone"));
        return;
    }
}
Opublikowano

 

Tak jest jak się kod przepisuje....

ps dodaj speedyfly i waldspeed to pluginu jak mowi @kondziu98

ps2 daje ci podpowiedz ^^

  public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
  {
    Player p = (Player)sender;
    PlayerInventory pi = p.getInventory();
    if (!(sender instanceof Player)) {
      p.sendMessage(ChatColor.RED + "Tylko gracze moga uzyc tej komendy!");
    }
    if (cmd.getName().equalsIgnoreCase("flyspeed"))
    {
      if (!sender.hasPermission("gowno.flyspeed")) {
        p.sendMessage(ChatColor.RED + "Brak uprawnien!");
      }
      if (args.length == 0)
      {
        p.sendMessage(ChatColor.GOLD + "Twoja szybkosc latania zostala ustawiona na " + 
          ChatColor.BLUE + "1");
        p.setFlySpeed(1.0F);
        return true;

 

Skoro już taka moda na poprawianie ;P

 public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (!(sender instanceof Player)) {
      sender.sendMessage(ChatColor.RED + "Tylko gracze moga uzywac tej komendy!");
      return true;
    }
    if (!sender.hasPermission("fly.flyspeed")) {
      sender.sendMessage(ChatColor.RED + "Brak uprawnien!");
      return true;
    }
    if (!(args.length == 1)) {
      sender.sendMessage(ChatColor.RED + "Za malo argumentow!");
      return true;
    }
    private Float speed;
    try {
      speed = Float.parseFloat(args[0]);
    } catch (NumberFormatException e) {
      sender.sendMessage(ChatColor.RED + "Argument nie jest liczba!");
      return true;
    }
    ((Player) sender).setFlySpeed(speed);
    sender.sendMessage(ChatColor.RED + "Predkosc lotu zostala ustwaiona na " + speed);
    return true;

Jesli pomoglem daj Like.

Opublikowano

 

Skoro już taka moda na poprawianie ;P

 public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (!(sender instanceof Player)) {
      sender.sendMessage(ChatColor.RED + "Tylko gracze moga uzywac tej komendy!");
      return true;
    }
    if (!sender.hasPermission("fly.flyspeed")) {
      sender.sendMessage(ChatColor.RED + "Brak uprawnien!");
      return true;
    }
    if (!(args.length == 1)) {
      sender.sendMessage(ChatColor.RED + "Za malo argumentow!");
      return true;
    }
    try {
      Float speed = Float.parseFloat(args[0]);
    } catch (NumberFormatException e) {
      sender.sendMessage(ChatColor.RED + "Argument nie jest liczba!");
      return true;
    }
    ((Player) sender).setFlySpeed(speed);
    sender.sendMessage(ChatColor.RED + "Predkosc lotu zostala ustwaiona na " + speed);
    return true;
try {
      Float speed = Float.parseFloat(args[0]); // jest zmienna speed
    } catch (NumberFormatException e) {
      sender.sendMessage(ChatColor.RED + "Argument nie jest liczba!");
      return true;
    }
// a tu już jej nie ma
    ((Player) sender).setFlySpeed(speed); // a tu nagle jakimś cudem ma się stworzyć nowa!

Tak nie można :D

  if (!(args.length == 1)) {

wygląda lepiej jako

  if (args.length != 1) {

I na razie popracuj nad tym kodem, a potem się baw w dodawanie fly ;)

1438614356923701010629.png

 

Opublikowano
try {
      Float speed = Float.parseFloat(args[0]); // jest zmienna speed
    } catch (NumberFormatException e) {
      sender.sendMessage(ChatColor.RED + "Argument nie jest liczba!");
      return true;
    }
// a tu już jej nie ma
    ((Player) sender).setFlySpeed(speed); // a tu nagle jakimś cudem ma się stworzyć nowa!

Tak nie można :D

  if (!(args.length == 1)) {

wygląda lepiej jako

  if (args.length != 1) {

I na razie popracuj nad tym kodem, a potem się baw w dodawanie fly ;)

 

 

Dawno nie pisałem (brak kompa) i robię głupie błędy :)

Jesli pomoglem daj Like.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...