Skocz do zawartości

Rekomendowane odpowiedzi

:.. gWielkanoc ..:

Plugin dodający jajka wielkanocne z których wypada nagroda. Sam plugin napisałem przez nudę. Całość pluginu jest w stylu skrzynek jak na MC4U czy też CraftCore. Głównie jest to przeznaczone dla serwerów hardcore.

 

:.. Co znajduje się w pluginie ..:

  • Łatwy i prosty do skonfigurowania config;
  • Wszystkie wiadomości można zedytować;
  • Możliwość wyłączenia wymaganego klucza;
  • Drop kluczy/jajek z mobów/bloków. (do konfiguracji w configu);
  • Własne przedmioty, które można wygrać;
  • Do każdego przedmiotu można dodać zaklęcia, zmienić nazwę oraz dodać opis;
  • Możliwość włączenia/wyłączenia otwierania jajek;
  • Możliwość włączenia/wyłączenia danego dropu z poziomu gry;
  • Komenda, dzięki której można dać każdemu na serwerze/danej osobie jajka/klucze;
  • Prosta animacja wygranej w stylu CS:GO;

:.. Wiki ..:

Wiki nie jest gotowe. Całość będzie skończona za 2-3 dni.
https://github.com/goblicpl/gWielkanoc/wiki

:.. Download ..:

Aktualnie wspieranymi wersjami są: 1.12.2/1.8.8;

https://github.com/goblicpl/gWielkanoc/releases

:.. Screenshoty ..:

Spoiler

HaKPGj0.png

9AOp5dX.png

eEEPWXZ.png

abnl1sh.png

8rCly4p.png

 

 

Edytowane przez GoblicPL
Odnośnik do komentarza
https://skript.pl/temat/26345-gwielkanoc-plugin-dodaj%C4%85cy-wielkanocne-jajko/
Udostępnij na innych stronach

Klasy nazywaj z dużej litery, fieldy typu:

	private static List<User> users = new ArrayList<User>();

rób jako finalne

 

I co do samych userów:

	private static List<User> users = new ArrayList<User>();
	public static User getUser(String name)
	{
		for(User u : getUsers())
		{
			if(u.getName().equals(name))
			{
				return u;
			}
		}
		return null;
	}

Co jest szybsze, pobranie gracza poprzez key uuid:

private final Map<UUID,User> users = new HashMap<>();

czy iteracja, i przy kazdym userze sprawdzanie czy jego nick jest rowny okreslonemu stringowi ;/

public class User
{
	private String name;
	private Player p;
	private boolean isOpenChest;
	private Inventory inv;

przypisywanie inventory na kazdego usera to slaby pomysl

	private Inventory inv;
	private int countdown = 0;
	
	public User(Player p)
	{
		this.name = p.getName();
		this.p = p;
		this.isOpenChest = false;
		this.inv = null;
	}

Inventory jest juz null, wiec ponowne przypisywanie troche bez sensu, chyba ze bedzie IDE wyswietlac cos typu 'variable.. might be not initialized'

do tego w klasie glownej masz raz spacje, raz taby (lub 2 taby zamiast jednego)

 

		try {
	        configExists();
	    } catch (Exception e) {
	        e.printStackTrace();
	    }

tutaj powinienes cos z tym robic :<

 

Ode mnie to tyle, reszty nie mam czasu sprawdzić, ale ogólnie to fajny pomysł na plugin :)

Edytowane przez yooniks
literówka i ocena
Odnośnik do komentarza
https://skript.pl/temat/26345-gwielkanoc-plugin-dodaj%C4%85cy-wielkanocne-jajko/#findComment-173551
Udostępnij na innych stronach

Klasy nazywa się z dużej litery ;/

 

A tak to w kodzie masa problemów: np jak ktoś w konfiguracji użyje złej nazwy itemu to dostanie dość słaby nic nie mówiąc błąd, do tego wszędzie używasz list i ręcznie w pętli szukasz pasującego elementu - np gracza po nicku - od tego są HashMapy.

No i zacznij używać mavena, bo tak to co z tego ze jest github jak nikt nie może tego projektu ot-tak otworzyć bo musi ręcznie dodawać wszelkie biblioteki.

 

A tak to ciekawi mnie to:  (i tylko po to tu odpisuje... :D)

{
  public static boolean isInteger(String string)
  {
    return Pattern.matches("-?[0-9]+", string.subSequence(0, string.length()));
  }

Skąd to masz, widzę ten idiotyczny kod już nie wiem który raz i zawsze mnie zastanawia skąd to jest... Po co jest te subSequence? :D A tak to lepiej mieć metodę: 

    public static Integer asInt(String str)
    {
        try
        {
            return Integer.parseInt(str);
        }
        catch (NumberFormatException e)
        {
            return null;
        }
    }

i wtedy jak zwraca null to wiadomo że to na pewno nie integer, a jak nie-null to można już używać. Bo tak to twoja metoda np uzna że 9839853290848753204394754309584854 to integer - a tak nie jest.

Edytowane przez GotoFinal
Odnośnik do komentarza
https://skript.pl/temat/26345-gwielkanoc-plugin-dodaj%C4%85cy-wielkanocne-jajko/#findComment-173552
Udostępnij na innych stronach

3 minuty temu, yooniks napisał:

Klasy nazywaj z dużej litery, fieldy typu:


	private static List<User> users = new ArrayList<User>();

rób jako finalne

 

I co do samych userów:


	private static List<User> users = new ArrayList<User>();

	public static User getUser(String name)
	{
		for(User u : getUsers())
		{
			if(u.getName().equals(name))
			{
				return u;
			}
		}
		return null;
	}

Co jest szybsze, pobranie gracza poprzez key uuid:


private final Map<UUID,User> users = new HashMap<>();

czy iteracja, i przy kazdym userze sprawdzanie czy jego nick jest rowny okreslonemu stringowi ;/


public class User
{
	private String name;
	private Player p;
	private boolean isOpenChest;
	private Inventory inv;

przypisywanie inventory na kazdego usera to slaby pomysl


	private Inventory inv;
	private int countdown = 0;
	
	public User(Player p)
	{
		this.name = p.getName();
		this.p = p;
		this.isOpenChest = false;
		this.inv = null;
	}

Inventory jest juz null, wiec ponowne przypisywanie troche bez sensu, chyba ze bedzie IDE wyswietlac cos typu 'variable.. might be not initialized'

do tego w klasie glownej masz raz spacje, raz taby (lub 2 taby zamiast jednego)

 


		try {
	        configExists();
	    } catch (Exception e) {
	        e.printStackTrace();
	    }

tutaj powinienes cos z tym robic :<

 

Ode mnie to tyle, reszty nie mam czasu sprawdzić, ale ogólnie to fajny pomysł na plugin :)

 

3 minuty temu, GotoFinal napisał:

Klasy nazywa się z dużej litery ;/

 

A tak to w kodzie masa problemów: np jak ktoś w konfiguracji użyje złej nazwy itemu to dostanie dość słaby nic nie mówiąc błąd, do tego wszędzie używasz list i ręcznie w pętli szukasz pasującego elementu - np gracza po nicku - od tego są HashMapy.

No i zacznij używać mavena, bo tak to co z tego ze jest github jak nikt nie może tego projektu ot-tak otworzyć bo musi ręcznie dodawać wszelkie biblioteki.

 

A tak to ciekawi mnie to:  (i tylko po to tu odpisuje... :D)


{
  public static boolean isInteger(String string)
  {
    return Pattern.matches("-?[0-9]+", string.subSequence(0, string.length()));
  }

Skąd to masz, widzę ten idiotyczny kod już nie wiem który raz i zawsze mnie zastanawia skąd to jest... Po co jest te subSequence? :D A tak to lepiej mieć metodę: 


    public static Integer asInt(String str)
    {
        try
        {
            return Integer.parseInt(str);
        }
        catch (NumberFormatException e)
        {
            return null;
        }
    }

i wtedy jak zwraca null to wiadomo że to na pewno nie integer, a jak nie-null to można już używać. Bo tak to twoja metoda np uzna że 9839853290848753204394754309584854 to integer - a tak nie jest.

Dzięki, na raz nastepny będę wiedział jakie błędy popełniam i w przyszłości ich liczba znacznie się zmniejszy. Dzięki za wszystkie odpowiedzi! Jutro postaram się zrobić wersję na 1.8.x. Możliwe, że przepiszę na nowo plugin dodając: Normalne skrzynki i wydarzeniowe (Święta wielkanocne itp.)

Odnośnik do komentarza
https://skript.pl/temat/26345-gwielkanoc-plugin-dodaj%C4%85cy-wielkanocne-jajko/#findComment-173553
Udostępnij na innych stronach

1 godzinę temu, KrejzolekPRO napisał:

Pomysł fajny, konfiguracja przejrzysta, może dodaj losowanie x naraz i zamiast losowania poziomo, pionowo? 

Dzięki. Jutro zrobię pewnie procenty na dany drop oraz możliwość zmiany na losowanie pionowo/poziomo. I o co dokładniej chodzi o "losowanie x naraz"?

Odnośnik do komentarza
https://skript.pl/temat/26345-gwielkanoc-plugin-dodaj%C4%85cy-wielkanocne-jajko/#findComment-173569
Udostępnij na innych stronach

36 minut temu, GoblicPL napisał:

Dzięki. Jutro zrobię pewnie procenty na dany drop oraz możliwość zmiany na losowanie pionowo/poziomo. I o co dokładniej chodzi o "losowanie x naraz"?

Otwieranie na raz danej ilości skrzynek, tutaj mój film: to nie jest reklama.

Odnośnik do komentarza
https://skript.pl/temat/26345-gwielkanoc-plugin-dodaj%C4%85cy-wielkanocne-jajko/#findComment-173581
Udostępnij na innych stronach

13 godzin temu, KrejzolekPRO napisał:

Otwieranie na raz danej ilości skrzynek, tutaj mój film: to nie jest reklama.

Za mało czasu, abym to zrobił. Aktualnie jest to pod święta. Kiedyś może zrobię cały plugin na skrzynki, wliczając skrzynki świąteczne.

 

#edit

Dodałem na githubie plugin pod wersję 1.8.8.

https://github.com/goblicpl/gWielkanoc/releases

Edytowane przez GoblicPL
Odnośnik do komentarza
https://skript.pl/temat/26345-gwielkanoc-plugin-dodaj%C4%85cy-wielkanocne-jajko/#findComment-173582
Udostępnij na innych stronach

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ę...