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] [EVC] [PLG] - Eventy na twoim serwerze!


Maniec

Rekomendowane odpowiedzi

Opublikowano

REKLAMA

REKLAMA

REKLAMA

REKLAMA

REKLAMA

REKLAMA

REKLAMA

REKLAMA

REKLAMA

REKLAMA

REKLAMA
 

Siemka, mam dla was plugin EventCode, plugin napisałem sam. (Nazwę zmienię może w przyszłości).
Co robi plugin?
 
- Wprowadza jednorazowy kod, a po jego przepisaniu (/event <kod>) Wykonuje komendy z configu
- Dodaje 4 komendy (/evc set, /evc reload, /evc spr, /event <kod>);
 
6772614170170661050323.jpg

 

Permisja do komend administratora to "manieckod"

 

Config;
 
7256114170170681050323.jpg
 
Ustawiacie jakiś kod np /evc set HF345FGSD (PAMIĘTAJCIE KOD JEST JEDNORAZOWY)
i kod udostępniacie np na facebooku, stronie, czy serwerze (informując graczy że trzeba wpisać /event <kod>)
 
Download;
 
DL
 
Skan;
 
3050414170170691050323.jpg

 

Niedługo dam update, będzie można użyć listy kodów, i ustalić ilu ma być razowy.

 

//Hejty owszem, ale tylko uzasadnione!

─────────────────────────────────────────────────────────────────────────────


Moderator to usuwa. EHE...


─────────────────────────────────────────────────────────────────────────────

Opublikowano

Link do pobrania mi nie działa :(

Lajki: 1 | 10  | 20 | 50 | 100 | 200 | 500 | 1000

Poszukuję Youtubera, Hostera, Budowniczego

Opublikowano

Link do pobrania mi nie działa :(

 

Spróbuj teraz.

─────────────────────────────────────────────────────────────────────────────


Moderator to usuwa. EHE...


─────────────────────────────────────────────────────────────────────────────

Opublikowano

Taki plugin można zrobić w skrypcie , nwm 15-30 linijek... Kolejny plugin który zaśmieca forum. Ale jak ktoś chcę plugin to proszę bardzo.

Opublikowano

Taki plugin można zrobić w skrypcie , nwm 15-30 linijek... Kolejny plugin który zaśmieca forum. Ale jak ktoś chcę plugin to proszę bardzo.

 

Plugin zaśmieca forum? Ehh no tak skrypty som lepsze!

─────────────────────────────────────────────────────────────────────────────


Moderator to usuwa. EHE...


─────────────────────────────────────────────────────────────────────────────

Opublikowano
getConfig = getConfig();

Co?

 

BTW.

Uprawnienie to nie "manieckod.admin", tylko "manieckod" - nie znasz własnego pluginu?

Opublikowano
getConfig = getConfig();

Co?

 

 

Co co?

//UP

Fakt poprawiłem permisje.

─────────────────────────────────────────────────────────────────────────────


Moderator to usuwa. EHE...


─────────────────────────────────────────────────────────────────────────────

Opublikowano



package maniec;
 
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
 
public class eventcode
  extends JavaPlugin
{
  public static FileConfiguration getConfig;
  
  public void onEnable()
  {
    ConsoleCommandSender con = Bukkit.getConsoleSender();
    con.sendMessage(ChatColor.GREEN + "ManiecEvent zostal zaladowany");
    getConfig = getConfig();
    saveDefaultConfig();
    reloadConfig();
  }
  
  public boolean onCommand(CommandSender sender, Command cmd, String comandLabel, String[] args)
  {
    Player p = (Player)sender;
    getConfig = getConfig();
    String kod = getConfig.getString("kod");
    if (comandLabel.equalsIgnoreCase("event")) {
      if (args.length == 0)
      {
        p.sendMessage("§7» §aPoprawne uzycie");
        p.sendMessage("§7» §6/event kod");
      }
      else if (args[0].equalsIgnoreCase(kod))
      {
        String name = sender.getName();
        getConfig().set("kod", " ");
        saveConfig();
        reloadConfig();
        getConfig = getConfig();
        p.sendMessage(getConfig.getString("acceptmsg").replace("&", "§"));
        getServer().broadcastMessage(getConfig.getString("broadcastmsg").replace("&", "§").replace("%NICK%", name));
        List<String> list = getConfig().getStringList("komenda");
        for (int komendy = 0; komendy < list.size(); komendy++) {
          Bukkit.dispatchCommand(Bukkit.getConsoleSender(), ((String)list.get(komendy)).replace("&", "§").replace("%NICK%", name));
        }
      }
      else
      {
        p.sendMessage("§7» §cWprowadzony kod jest bledy, lub zostal juz wykorzystany.");
      }
    }
    if ((p.hasPermission("manieckod")) && (comandLabel.equalsIgnoreCase("evc"))) {
      if (args.length == 0)
      {
        p.sendMessage(" ");
        p.sendMessage("§8» §aKomendy dla administratora");
        p.sendMessage(" §7» §6/evc set <kod> §7- §9Ustawia kod eventu");
        p.sendMessage(" §7» §6/evc reload §7- §9Przeloadowanie pliku konfiguracyjnego");
        p.sendMessage(" §7» §6/evc spr §7- §9Wyswietla aktualny kod eventu");
        p.sendMessage(" ");
        p.sendMessage("§8» §aKomendy dla gracza");
        p.sendMessage(" §7» §6/event <kod> §7- §9Uzycie kodu");
        p.sendMessage(" ");
      }
      else if (args[0].equalsIgnoreCase("set"))
      {
        reloadConfig();
        getConfig = getConfig();
        getConfig().set("kod", args[1]);
        saveConfig();
        reloadConfig();
        String kodev = getConfig.getString("kod");
        p.sendMessage("§7» §aUstawiles kod eventu na: §6" + kodev);
      }
      else if (args[0].equalsIgnoreCase("reload"))
      {
        reloadConfig();
        getConfig = getConfig();
        p.sendMessage("§7» §aPrzeladowano config");
      }
      else if (args[0].equalsIgnoreCase("spr"))
      {
        getConfig = getConfig();
        String kodeventu = getConfig.getString("kod");
        p.sendMessage("§7» §aAktualny kod eventu to: §6" + kodeventu);
      }
    }
    return true;
  }
}



....

 

stringa z configu sie wczytuje podczas ladowniania pluginu a nie za kazdym uzyciem komendy


    getConfig = getConfig(); /???????? co to za magia ?


        getConfig().set("kod", " "); cos co na pewno nie zadziala


replace("&", "§").replace("%NICK%", name)); juz od dawna w bukicie jest metoda translatealternativecolorcodes czy cos w tym stylu 



Opublikowano

@Maniec Teraz panda hejci:

1. Po uj co metodę robisz zmienną getConfig, możesz ją zdefiniować w onEnable.
2. Tylko jedna klasa ? Spokojnie jest kodu na 4-10 klas.
3. Nazwy klas piszemy z DUŻEJ LITERY.
4. Nie rób tyle w cfg .... Używaj zmiennych !!!
5. Pckg powinno zaczynać sie "końcówka domeny.domena." np. "net.padaambo.pandasafeadmin.Main"
Bo jak bd miał 2 pluginy które mają Main/klase główną w takim samym pckg to sypnie instancje.
6. Nie oglądaj tego co pisze "KamilKiME", widac to po cmd ze go oglądasz.
7. Nie używaj commandLabel tylko cmd.getName().eq.....
8. Po co tak "
ConsoleCommandSender con = Bukkit.getConsoleSender();" jak mozna tak "System.out.println("onEnable uruchomiony!");" [Oficjalny tut: http://wiki.bukkit.org/Plugin_Tutorial/pl ]
9. Nie sprawdziłeś czy sender jest graczem, tylko od razu castowałes, co skutkuje błędem :)
10. Co to jest " 
replace("&", "§") ", od tego jest metoda: "ChatColor.translateAlternateColorCodes('&', STRING)"

11. Pomysł na plugin fajny, a realizacja C*****A.

--
Pozdrawiam Padaambo

Jeśli pomogłem to daj like :3

Opublikowano

1. Samo to getConfig jest dziwne, ale jeszcze dziwniejsze jest, że przy każdym użyciu komendy przypisujesz to od nowa...

  public boolean onCommand(CommandSender sender, Command cmd, String comandLabel, String[] args)
  {
    Player p = (Player)sender;
    getConfig = getConfig();
    String kod = getConfig.getString("kod");

2. Zamiast commandLabel lepiej używać cmd.getName() (bo inaczej blokujesz tworzenie aliasów...)

3. Zła nazwa paczki https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html  http://www.oracle.com/technetwork/java/codeconventions-135099.html

4. Zła nazwa klasy (z dużej litery...) http://www.oracle.com/technetwork/java/codeconventions-135099.html

 

Edit: Jkbc. Gdy pisałem ten post nie było jeszcze tych wyżej xP

Opublikowano

@Maniec Teraz panda hejci:

 

1. Po uj co metodę robisz zmienną getConfig, możesz ją zdefiniować w onEnable.

2. Tylko jedna klasa ? Spokojnie jest kodu na 4-10 klas.

3. Nazwy klas piszemy z DUŻEJ LITERY.

4. Nie rób tyle w cfg .... Używaj zmiennych !!!

5. Pckg powinno zaczynać sie "końcówka domeny.domena." np. "net.padaambo.pandasafeadmin.Main"

Bo jak bd miał 2 pluginy które mają Main/klase główną w takim samym pckg to sypnie instancje.

6. Nie oglądaj tego co pisze "KamilKiME", widac to po cmd ze go oglądasz.

7. Nie używaj commandLabel tylko cmd.getName().eq.....

8. Po co tak "ConsoleCommandSender con = Bukkit.getConsoleSender();" jak mozna tak "System.out.println("onEnable uruchomiony!");" [Oficjalny tut: http://wiki.bukkit.org/Plugin_Tutorial/pl ]

9. Nie sprawdziłeś czy sender jest graczem, tylko od razu castowałes, co skutkuje błędem :)

10. Co to jest " replace("&", "§") ", od tego jest metoda: "ChatColor.translateAlternateColorCodes('&', STRING)"

11. Pomysł na plugin fajny, a realizacja C*****A.

 

--

Pozdrawiam Padaambo

 

@OFFTOP DETECTED

 

1. Po uj w ogóle tworzyć zmienną getConfig?

2. 10 klas powiadasz? Hm.. mam nadzieję, że w przyszłości nie masz zamiaru być programistą.

3. Wielką*

4. Tu się zgodzę.

5. 

6. 

7. Co do ...? Bardzo dobrze że korzysta z commandLabel, a nie z cmd.getName()...

8. Kody które napisałeś robią kompletnie inne rzeczy.

9.

10. translateAlternateColorCodes() też podmienia "&" na "§", tylko że w nieco bardziej zaawansowany sposób.

 

Jak już chcesz komuś mówić że coś źle zrobił, to pierw dowiedz się, czy ty nie chcesz mu podpowiedzieć aby zrobił jeszcze gorzej lub tak samo źle.

 

--

Pozdrawiam, shooly.

Opublikowano

 


7. Co do ...? Bardzo dobrze że korzysta z commandLabel, a nie z cmd.getName()...

Możesz mi powiedzieć czemu...? Przez commandLabel zablokuje tworzenie aliasów w plugin.yml poza swoimi, a gdy będzie chciał dodawać swoje to wyjdzie coś takiego:

if(commandLabel.equalsIgnoreCase("lol") || commandLabel.equalsIgnoreCase("lol2") || commandLabel.equalsIgnoreCase("lol3") || commandLabel.equalsIgnoreCase("uj_wie_ile_tego_bedzie"))
{
//code
}
Opublikowano

 

Możesz mi powiedzieć czemu...? Przez commandLabel zablokuje tworzenie aliasów w plugin.yml poza swoimi, a gdy będzie chciał dodawać swoje to wyjdzie coś takiego:

if(commandLabel.equalsIgnoreCase("lol") || commandLabel.equalsIgnoreCase("lol2") || commandLabel.equalsIgnoreCase("lol3") || commandLabel.equalsIgnoreCase("uj_wie_ile_tego_bedzie"))
{
//code
}

 

 

Po to jest metoda "setExecutor()", aby 1 komenda - miała 1 klasę, i nie trzeba było sprawdzać jaką komendę gracz wpisał.

Opublikowano

 

package maniec;
 
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
 
public class eventcode
  extends JavaPlugin
{
  public static FileConfiguration getConfig;
  
  public void onEnable()
  {
    ConsoleCommandSender con = Bukkit.getConsoleSender();
    con.sendMessage(ChatColor.GREEN + "ManiecEvent zostal zaladowany");
    getConfig = getConfig();
    saveDefaultConfig();
    reloadConfig();
  }
  
  public boolean onCommand(CommandSender sender, Command cmd, String comandLabel, String[] args)
  {
    Player p = (Player)sender;
    getConfig = getConfig();
    String kod = getConfig.getString("kod");
    if (comandLabel.equalsIgnoreCase("event")) {
      if (args.length == 0)
      {
        p.sendMessage("§7» §aPoprawne uzycie");
        p.sendMessage("§7» §6/event kod");
      }
      else if (args[0].equalsIgnoreCase(kod))
      {
        String name = sender.getName();
        getConfig().set("kod", " ");
        saveConfig();
        reloadConfig();
        getConfig = getConfig();
        p.sendMessage(getConfig.getString("acceptmsg").replace("&", "§"));
        getServer().broadcastMessage(getConfig.getString("broadcastmsg").replace("&", "§").replace("%NICK%", name));
        List<String> list = getConfig().getStringList("komenda");
        for (int komendy = 0; komendy < list.size(); komendy++) {
          Bukkit.dispatchCommand(Bukkit.getConsoleSender(), ((String)list.get(komendy)).replace("&", "§").replace("%NICK%", name));
        }
      }
      else
      {
        p.sendMessage("§7» §cWprowadzony kod jest bledy, lub zostal juz wykorzystany.");
      }
    }
    if ((p.hasPermission("manieckod")) && (comandLabel.equalsIgnoreCase("evc"))) {
      if (args.length == 0)
      {
        p.sendMessage(" ");
        p.sendMessage("§8» §aKomendy dla administratora");
        p.sendMessage(" §7» §6/evc set <kod> §7- §9Ustawia kod eventu");
        p.sendMessage(" §7» §6/evc reload §7- §9Przeloadowanie pliku konfiguracyjnego");
        p.sendMessage(" §7» §6/evc spr §7- §9Wyswietla aktualny kod eventu");
        p.sendMessage(" ");
        p.sendMessage("§8» §aKomendy dla gracza");
        p.sendMessage(" §7» §6/event <kod> §7- §9Uzycie kodu");
        p.sendMessage(" ");
      }
      else if (args[0].equalsIgnoreCase("set"))
      {
        reloadConfig();
        getConfig = getConfig();
        getConfig().set("kod", args[1]);
        saveConfig();
        reloadConfig();
        String kodev = getConfig.getString("kod");
        p.sendMessage("§7» §aUstawiles kod eventu na: §6" + kodev);
      }
      else if (args[0].equalsIgnoreCase("reload"))
      {
        reloadConfig();
        getConfig = getConfig();
        p.sendMessage("§7» §aPrzeladowano config");
      }
      else if (args[0].equalsIgnoreCase("spr"))
      {
        getConfig = getConfig();
        String kodeventu = getConfig.getString("kod");
        p.sendMessage("§7» §aAktualny kod eventu to: §6" + kodeventu);
      }
    }
    return true;
  }
}

....
 
stringa z configu sie wczytuje podczas ladowniania pluginu a nie za kazdym uzyciem komendy
    getConfig = getConfig(); /???????? co to za magia ?
        getConfig().set("kod", " "); cos co na pewno nie zadziala
replace("&", "§").replace("%NICK%", name)); juz od dawna w bukicie jest metoda translatealternativecolorcodes czy cos w tym stylu 

 

 

"getConfig().set("kod", " "); cos co na pewno nie zadziala" -  to dlaczego działa?

─────────────────────────────────────────────────────────────────────────────


Moderator to usuwa. EHE...


─────────────────────────────────────────────────────────────────────────────

Opublikowano

@OFFTOP DETECTED

 

1. Po uj w ogóle tworzyć zmienną getConfig?

2. 10 klas powiadasz? Hm.. mam nadzieję, że w przyszłości nie masz zamiaru być programistą.

3. Wielką*

4. Tu się zgodzę.

5. 

6. 

7. Co do ...? Bardzo dobrze że korzysta z commandLabel, a nie z cmd.getName()...

8. Kody które napisałeś robią kompletnie inne rzeczy.

9.

10. translateAlternateColorCodes() też podmienia "&" na "§", tylko że w nieco bardziej zaawansowany sposób.

 

Jak już chcesz komuś mówić że coś źle zrobił, to pierw dowiedz się, czy ty nie chcesz mu podpowiedzieć aby zrobił jeszcze gorzej lub tak samo źle.

 

--

Pozdrawiam, shooly.

Yey Hejt :D 

i mój sposób podpisu ;_; porażka :)

 

Dobra, zacznijmy od tego ze:

 

1. Żeby w innych klasach nie bawić się w Main.getMain().getConfig()

2. Im krótszy kod w klasie == szybszy dostęp == mniej ramu.

7. Jak bd używał cmdLb to potem będzie pisał "czemu mi aliasy nie działają" i zrobi syf typu:

 

if(commandLabel.equalsIgnoreCase("lol") || commandLabel.equalsIgnoreCase("lol2") || commandLabel.equalsIgnoreCase("lol3") || commandLabel.equalsIgnoreCase("uj_wie_ile_tego_bedzie"))

[kod 2xup]

8. Nie podałem metody której on używa do senda, robią to samo, ale out szybszy :)

10. translateAlternateColorCodes() jest szybszy, bo nie używa regexa.

 

--

Pozdrawiam Padaambo

Jeśli pomogłem to daj like :3

Opublikowano

Po to jest metoda "setExecutor()", aby 1 komenda - miała 1 klasę, i nie trzeba było sprawdzać jaką komendę gracz wpisał.

 

Czy ja powiedziałem że chcę tu dodawać jakieś skróty do komend? (aliasy)

─────────────────────────────────────────────────────────────────────────────


Moderator to usuwa. EHE...


─────────────────────────────────────────────────────────────────────────────

Opublikowano

Czy ja powiedziałem że chcę tu dodawać jakieś skróty do komend? (aliasy)

Nie, ale np. administrator który wgra ten plugin na serwer może chcieć zrobić swój alias, a commandLabel to uniemożliwi (cmd.getName() zróci nazwę komendy z nazwy sekcji w plugin.yml)

 

Po to jest metoda "setExecutor()", aby 1 komenda - miała 1 klasę, i nie trzeba było sprawdzać jaką komendę gracz wpisał.

No racja :P Jak zauważyłem tego ifa to myślałem, że jest tam kilka komend :P
Opublikowano

Yey Hejt :D 

i mój sposób podpisu ;_; porażka :)

 

Dobra, zacznijmy od tego ze:

 

1. Żeby w innych klasach nie bawić się w Main.getMain().getConfig()

2. Im krótszy kod w klasie == szybszy dostęp == mniej ramu.

7. Jak bd używał cmdLb to potem będzie pisał "czemu mi aliasy nie działają" i zrobi syf typu:

 

if(commandLabel.equalsIgnoreCase("lol") || commandLabel.equalsIgnoreCase("lol2") || commandLabel.equalsIgnoreCase("lol3") || commandLabel.equalsIgnoreCase("uj_wie_ile_tego_bedzie"))

[kod 2xup]

8. Nie podałem metody której on używa do senda, robią to samo, ale out szybszy :)

10. translateAlternateColorCodes() jest szybszy, bo nie używa regexa.

 

--

Pozdrawiam Padaambo

 

1a. I.. używać Main.getMain().config, jeśli chcemy skorzystać z pliku konfiguracyjnego, tak?

1b. Main.getMain() - i potem myśleć "no gdzie jest ten memleak!?!?!?!"

1c. Po to są konstruktory, aby z nich korzystać.

2. Kto Ci takich głupot naopowiadał? Zaraz dla testu nawet napiszę program i sprawdzę jak szybko wyświetli coś w konsoli, gdy będzie 100 klas i dopiero w ostatniej będzie kod, i 1 klasa w której będzie kod.

7. look up

8. To nie zmienia tego że to co napisałeś nie ma żadnego sensu, bo robi się dokładnie co innego.

10. Za to sprawdza każdy znak po kolei w poszukiwaniu kolorku.

  public static String translateAlternateColorCodes(char altColorChar, String textToTranslate)
  {
    char[] b = textToTranslate.toCharArray();
    for (int i = 0; i < b.length - 1; i++) {
      if ((b[i] == altColorChar) && ("0123456789AaBbCcDdEeFfKkLlMmNnOoRr".indexOf(b[(i + 1)]) > -1))
      {
        b[i] = '§';
        b[(i + 1)] = Character.toLowerCase(b[(i + 1)]);
      }
    }
    return new String(;
  } 

--

Pozdrawiam,

shooly

(w osobnej linii, żeby nie było że odgapiam)

 

@1361622928-U485574.png❤Padaambo❤

http://speedy.sh/EJ7W4/SpeedTest.jar
https://www.virustotal.com/en/file/a6210df17fb9f116b2667a19c3edd329d56c7ef0a1fd30d93a71ea6b7ebbcb8f/analysis/1417021751/

Ad.2:

 

No nie wiem jak u Ciebie, ale u mnie...

 

4865014170217661076743.png

 

... widać różnicę.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...