
zrdzn
Użytkownik-
Ilość zawartości
14 -
Rejestracja
-
Ostatnia wizyta
Informacje
-
Nick w MC
zrdzn9
Metody kontaktu
- Strona www
-
Discord
zrdzn#8495
Ostatnie wizyty
239 wyświetleń profilu
Osiągnięcia zrdzn

Początkujący I (2/13)
4
Reputacja
-
zrdzn zareagował(a) na odpowiedź w temacie: VIshop - darmowy itemshop (bez limitów) dla serwerów Minecraft
-
zrdzn obserwuje zawartość Poszukuję ludzi do ekipy przy tworzeniu nowego trybu , Co się stało z Libterem? , Skrypt na usuwanie itemków z ziemi co 15 minut. i 6 innych
-
zrdzn zareagował(a) na odpowiedź w temacie: Oświadczenie woli przejęcia forum
-
zrdzn zareagował(a) na odpowiedź w temacie: Co się stało z Libterem?
-
zrdzn zareagował(a) na odpowiedź w temacie: Zarządzenia
-
zrdzn zareagował(a) na odpowiedź na pytanie: Problem z pluginem (nie chce się załadować)
-
zrdzn zareagował(a) na odpowiedź w temacie: Twój własny plugin na serwer [ ZA DARMO ]
-
zrdzn zareagował(a) na aktualizację statusu: Ej takie pytanko ma ktoś fajne pluginy na tryb MegaDrop ? przydał by sie strasznie
-
zrdzn zareagował(a) na odpowiedź w temacie: Rekrutacja na SUPPORTA
-
Zdajesz sobie sprawę, że większość pluginów jest tam napisanych specjalnie pod kwadratową i nie ma ich nigdzie publicznie? Z tych nielicznie dostępnych jest między innymi radiacja, pvp oraz PaySign - aczkolwiek ten ostatni nie jestem pewien czy tam się pojawił.
-
zrdzn zareagował(a) na odpowiedź na pytanie: Code Review.
-
ivall zareagował(a) na odpowiedź w temacie: [Kursy/Korepetycje] Naucze cie pisac > Pluginy Minecraft > Gry 2D > Boty na discorda
-
boleknowak zareagował(a) na odpowiedź w temacie: Sieć Serwerów Minecraft CraftHype.PL 1.8 / 1.18.1 MegaDrop, Survival+Działki i wiele wiecej!
-
Link do discorda jest nieaktualny, albo mam z jakiegoś powodu bana.
-
[Kursy/Korepetycje] Naucze cie pisac > Pluginy Minecraft > Gry 2D > Boty na discorda
zrdzn odpowiedział(a) na Random123 temat w Współpraca
Masz chociaż jakieś publiczne portfolio czy to kupno w ciemno z nadzieją, że ktoś coś wyniesie poza nic niewartymi kosztami? Swoją drogą, jeśli chcesz kogoś uczyć to pewnie masz większą wiedzę na dany temat, a ktoś z taką wiedzą chce brać 7zł za 45 minut osobistego mentorowania? Sama "prezentacja" jest dziwnie zrobiona, nieestetyczna. -
public static Connection getConnection() throws SQLException { return ds.getConnection(); } Zamiast zwracać połączenie które może być automatycznie zamknięte, lepiej zwracać całe HikariDataSource, a połączenie pobierać za każdym razem przy zapytaniach. Prawdopodobnie to jest przyczyną błędu. Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() { @Override public void run() { HikariConfig config = new HikariConfig(); config.setPoolName("StoreCraftPool"); config.setDataSourceClassName("org.sqlite.SQLiteDataSource"); config.setJdbcUrl("jdbc:sqlite:"+file.getAbsolutePath()); config.setPoolName("StoreCraftDataBasePool"); config.setMaximumPoolSize(20); config.setMaxLifetime(60000); // 60 Sec config.setIdleTimeout(30000); // 30 Sec ds = new HikariDataSource(config); } }); Uruchamianie tego asynchronicznie jest absolutnie niepotrzebne, instancję HikariDataSource inicjujesz tylko raz. static { } Puste, można wywalić. Swoją drogą za dużo w tym kodzie statycznych rzeczy jest, w większości jest on źle użyty, powinieneś zdecydowanie poczytać o obiektowości, konstruktorach itp.
-
rozumek29 zareagował(a) na odpowiedź na pytanie: Code Review.
-
Czym ta sieć różni się od innych* z tego typu trybami? Nowy wymiar działek? Czyli nie jest to stawianie bloku/zaznaczanie terenu łopatą? W takim razie wypadałoby podać jakieś szczegóły, żeby rzeczywiście było to zachęcające. Swoją drogą naprawdę do każdego trybu jest przeklejony opis, który ma odrobinę zmienione parę pierwszych wyrazów? Prezentacja kiepsko wykonana, byle by była. W sklepie na stronie widzę takie usługi jak "klucze" czy "zastrzyk gotówki". Mam głęboką nadzieję, że skrzynki które otwiera się tymi kluczami, nie zawierają rzeczy niekosmetycznych, a samej gotówki nie da się zdobyć normalnie grając bez wydawania pieniędzy. Firma jest, jakiś regulamin jest, polityki prywatności tylko brakuje. Niektóre elementy na stronie zawierają polskie znaki, inne nie. Przycisk teamspeaka nie ma żadnego odnośnika. Sam wygląd strony dla mnie jest nawet niezły, responsywność i SSL też jest. Ciężko powiedzieć cokolwiek więcej, bo prezentacja niewiele zawiera.
-
private Connection connection = SQLiteManager.getConnection(); private PreparedStatement ps; private ResultSet rs; No to chyba to jest największym problemem i przyczyną dlaczego to nie działa, trzy z tych rzeczy automatycznie się zamykają przy try-with-resources i średnio bezpieczne jest przypisywanie jednego pola prepared statement pod 10 różnych zapytań. Lepiej w każdej metodzie osobno w parametrach try pobierać połączenie na nowo i tworzyć w nich odpowiednią zmienną prepared statement, wtedy będziesz miał pewność, że nie będzie jakichś niespodziewanych timeoutów lub zamkniętych połączeń przed ich użyciem. Abstrahując od samego stacktrace, popełniasz ogromny błąd nie escape'ując tych zmiennych w zapytaniach, narażasz się na SQL Injection. Poniżej jest przykładowy kod który miałby to, o czym wspomniałem wyżej. public void increaseDeaths(){ this.deaths++; try { ps = connection.prepareStatement("UPDATE 'players' SET Deaths="+this.deaths+" WHERE UUID LIKE '"+this.uuid+"';"); ps.execute(); } catch (SQLException e) { e.printStackTrace(); } } Zamienić na np.: public void increaseDeaths(){ this.deaths++; try (Connection connection = SQLiteManager.getConnection(); PreparedStatement statement = connection.preparedStatement("UPDATE 'players' SET Deaths=? WHERE UUID LIKE ?;") { statement.setInteger(1, this.deaths); statement.setString(2, this.uuid.toString()); statement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } } Nie mam pojęcia czy to połączenie tutaj się nie wykrzaczy z tego powodu, że getConnection() zwraca w tym przypadku zainicjowane połączenie które nawet nie tyka Hikari w żaden sposób, ale na SQLite zbytnio się nie znam więc to takie gdybanie. Moim zdaniem powinieneś na pewno odrobinę popracować nad strukturą tego "modelu". StorePlayer mógłby być zwykłym POJO i zawierać podstawowe pola oraz gettery takie jak znajdują się powyżej, nie łącząc tego w jednej klasie z pewnego rodzaju repozytorium. Zamiast inkrementować w taki sposób śmierci w jakiejś metodzie increaseDeaths(), mógłbyś zrobić sobie klasę która by obrała za argument uuid gracza i na jego podstawie zwiększać liczbę.
-
Jeśli używasz pluginu LuckPerms razem z Essentials to wystarczy wpisać jedno wybrane: /lp group default permission set essentials.balance true <- dla grupy domyślnej /lp user <gracz> permission set essentials.balance true <- dla konkretnego gracza
-
Mógłby się jeszcze przydać fragment z klasy StorePlayer, metoda increaseBlocksPlaced (najlepiej od 80 do 100 linijki).
-
Envqu zareagował(a) na odpowiedź w temacie: Poszukuję ludzi do ekipy przy tworzeniu nowego trybu
-
Poszukuję ludzi do ekipy przy tworzeniu nowego trybu
zrdzn odpowiedział(a) na Sobiegraj temat w Współpraca
Przyznam, że trochę obawiam się o jakość tych pluginów jeśli są one tworzone od zera przez kogoś kto bierze 50zł na tydzień za pracę, chyba że pracuje 2 godziny tygodniowo to jeszcze zrozumiałe. Dodatkowo nie rozumiem toku myślenia osób które chcą mieć wszystko "autorskie" dla samego faktu że są one napisane specjalnie pod ten serwer kiedy istnieje wiele publicznych, sprawdzonych oraz jakościowych pluginów które mają to samo albo nawet więcej, niż to za co płaci się kilkaset złotych. -
Nie podam Tobie kodu na tacy, ale powiem Ci tylko tyle że musisz użyć Bukkit#dispatchCommand.