Skocz do zawartości

xTT-Pomoc - Łatwy w obsłudze plugin na Pomoc!


Rekomendowane odpowiedzi

Witam,

Dzisiaj Wam zaprezentuję mój pierwszy plugin!

Jest to plugin na Pomoc.

Komendy:

- /pomoc - Wyświetla informacje dot. serwera (Do ustawienia w plugins/xTT-Pomoc/config.yml)

 

UWAGA! Plugin na wersję 1.8.8

 

Download v1.0:

- http://www.mediafire.com/file/cdv125jq4td0lrc/xTT-Pomoc.jar

 

Edytowane przez ToffikTV
Odnośnik do komentarza
https://skript.pl/temat/25391-xtt-pomoc-%C5%82atwy-w-obs%C5%82udze-plugin-na-pomoc/
Udostępnij na innych stronach

Nie lepiej takie cos?


public class pomoc
  implements CommandExecutor
{
  natusiekCore plugin;
  
  public pomoc(natusiekCore plugin)
  {
    this.plugin = plugin;
    this.plugin.getCommand("pomoc").setExecutor(this);
  }
  
  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  {
    if ((sender instanceof Player))
    {
      Player player = (Player)sender;
      for (String s : this.plugin.getConfig().getStringList("pomoc"))
      {
        s = s.replace("&", "§");
        s = s.replace("{NICK}", player.getName());
        player.sendMessage(s);
      }
    }
    else
    {
      sender.sendMessage("To polecenie nie moze byc wykonane z konsoli.");
    }
    return false;
  }
}

 

Odnośnik do komentarza
https://skript.pl/temat/25391-xtt-pomoc-%C5%82atwy-w-obs%C5%82udze-plugin-na-pomoc/#findComment-168198
Udostępnij na innych stronach

Dużo pracy w to włożyłeś..

Spoiler

 


package me.toffik.help;

import org.bukkit.command.PluginCommand;
import org.bukkit.plugin.java.JavaPlugin;

public class Main
  extends JavaPlugin
{
  private static Main instance;
  
  public void onEnable()
  {
    instance = this;
    getCommand("pomoc").setExecutor(new Configs());
    saveDefaultConfig();
  }
  
  public static Main getInst()
  {
    return instance;
  }
}

package me.toffik.help;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;

public class Configs
  implements CommandExecutor
{
  private static final String text1 = Main.getInst().getConfig().getString("pomoc.text1");
  private static final String text2 = Main.getInst().getConfig().getString("pomoc.text2");
  private static final String text3 = Main.getInst().getConfig().getString("pomoc.text3");
  private static final String text4 = Main.getInst().getConfig().getString("pomoc.text4");
  private static final String text5 = Main.getInst().getConfig().getString("pomoc.text5");
  private static final String text6 = Main.getInst().getConfig().getString("pomoc.text6");
  private static final String text7 = Main.getInst().getConfig().getString("pomoc.text7");
  private static final String text8 = Main.getInst().getConfig().getString("pomoc.text8");
  
  public boolean onCommand(CommandSender sender, Command cmd, String l, String[] args)
  {
    if (cmd.getName().equalsIgnoreCase("pomoc"))
    {
      sender.sendMessage(text1);
      sender.sendMessage(text2);
      sender.sendMessage(text3);
      sender.sendMessage(text4);
      sender.sendMessage(text5);
      sender.sendMessage(text6);
      sender.sendMessage(text7);
      sender.sendMessage(text8);
    }
    return false;
  }
}

 

 

 

Zamiast takiego configu:

#Do Kolor�w U�ywaj � (paragrafu)
pomoc:
  text1:
  text2:
  text3:
  text4:
  text5:
  text6:
  text7:
  text8:
  

mogłeś użyć:
 

pomoc:
- 'test1'
- 'test'
- 'test321'

Natomiast w komendzie:

public boolean onCommand(CommandSender sender, Command cmd, String l, String[] args)
  {
    if (cmd.getName().equalsIgnoreCase("pomoc"))
    {
        for(String s : Main.getInst().getConfig().getStringList("pomoc"))
        {
			sender.sendMessage(ChatColor.translateAlternateColorCodes('&', s);
		}
    }
    return false;
  }

I dzieki funkcji ChatColor.translateAlternateColorCodes('&', string) bedziesz mogl uzywac do kolorow znaku & zamiast "paragrafu".

Slaby plugin.

@edit

Osoba powyżej była szybsza, lecz nie używajcie replace na znak &, a tej funkcji co ja podałem.

Edytowane przez GoblicPL
Odnośnik do komentarza
https://skript.pl/temat/25391-xtt-pomoc-%C5%82atwy-w-obs%C5%82udze-plugin-na-pomoc/#findComment-168199
Udostępnij na innych stronach

 

public class pomoc
  implements CommandExecutor
{
  natusiekCore plugin;
  
  public pomoc(natusiekCore plugin)
  {
    this.plugin = plugin;
    this.plugin.getCommand("pomoc").setExecutor(this);
  }
  
  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  {
    if ((sender instanceof Player))
    {
      Player player = (Player)sender;
      for (String s : this.plugin.getConfig().getStringList("pomoc"))
      {
        s = s.replace("&", "§");
        s = s.replace("{NICK}", player.getName());
        player.sendMessage(s);
      }
    }
    else
    {
      sender.sendMessage("To polecenie nie moze byc wykonane z konsoli.");
    }
    return false;
  }
}

to jest porażka @InawiaczeG1338 jak już chcesz zaimponować:

public class MyCommand implements CommandExecutor {
	
	@Override
	public boolean onCommand(CommandSender sender, Command cmd, String l, String[] args){
		Main.getPlugin(Main.class).getStringList("pomoc").
			forEach(s->sender.sendMessage(ChatColor.translateAlternateColorCodes('&',s));
	}

}

 

co do samego tematu, plugin słabo wykonany Goblic mniej więcej napisał co do poprawy.

Edytowane przez yooniks
Odnośnik do komentarza
https://skript.pl/temat/25391-xtt-pomoc-%C5%82atwy-w-obs%C5%82udze-plugin-na-pomoc/#findComment-168250
Udostępnij na innych stronach

@GoblicPL@InawiaczeG1338@yooniks

Co wy się tak upieracie na te StringList, toż YAML wspiera wielolinijkowe teksty i to na wiele sposobów:

example: 'pierwsza linijka

druga linijka

trzecia linijka'
example: 'pierwsza linijka

          druga linijka

          trzecia linijka'
example: "pierwsza linijka\ndruga linijka\ntrzecia linijka"
example: |-
    pierwsza linijka
    druga linijka
    trzecia linijka
example: |4-
    pierwsza linijka
    druga linijka
    trzecia linijka
example: pierwsza linijka

    druga linijka

    trzecia linijka
example: >-
    pierwsza linijka

    druga linijka

    trzecia linijka

Wszystkie te dadzą taki sam wynik, czyli jeden string z trzema linijkami tekstu.

Dodatkowo małe objaśnienie co do | i >. I oznacza że tekst ma być dokładnie taki jak podany, czyli nowe linijki mają się zachować w pełni, a dla > trzeba dać przerwę by była nowa linijka, inaczej je zwinie do jednej, przydatne dla długich tekstów.
Obie te możliwości mają kilka opcji, np dodanie znaku + lub -, oznacza to czy na końcu ma być dodatkowa pusta linijka (jeśli to +), plus jest domyślną wartością. Oraz można też podać indent czyli liczbę spacji, domyślnie jest to ilość spacji taka jak w pierwszej linijce, dzięki temu można dodać wcięcie w wiadomości.

 

I wtedy można wygodnie to wczytać jako jeden string.

Edytowane przez GotoFinal
Odnośnik do komentarza
https://skript.pl/temat/25391-xtt-pomoc-%C5%82atwy-w-obs%C5%82udze-plugin-na-pomoc/#findComment-168359
Udostępnij na innych stronach

@GotoFinal w jednym pluginie mialem tak:

pomoc: "&8[-----]\n&7Pomoc\n&8[-----]"

ale tak jest niewygodnie pisać, wiec teraz wiekszość robie stringlist i sie jakoś przyzwyczaiłem, no i łatwiej to wszystko konfigurować dla osoby nieznającej sie na configach, np. dla własciciela serwera

Edytowane przez yooniks
interpunkcja
Odnośnik do komentarza
https://skript.pl/temat/25391-xtt-pomoc-%C5%82atwy-w-obs%C5%82udze-plugin-na-pomoc/#findComment-168371
Udostępnij na innych stronach

@yooniks

No ale taki styl jest bardzo prosty 

example: |-
    pierwsza linijka
    druga linijka
    trzecia linijka

Wystraczy tylko zostawić w domyślnym configu przykład z użyciem takiego zapisu

Odnośnik do komentarza
https://skript.pl/temat/25391-xtt-pomoc-%C5%82atwy-w-obs%C5%82udze-plugin-na-pomoc/#findComment-168387
Udostępnij na innych stronach

  • 4 tygodnie później...

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...