Skocz do zawartości

Java, Bukkit - programista dla Ciebie!


Rekomendowane odpowiedzi

Witam, mam na imię Marcin i mam 17 lat. Zajmuję się programowaniem backend'owym, a serwer minecraft potrafię postawić od samych podstaw, tak jak napisać plugin na serwer.

Pisaniem kodu zajmuję się już od 3 lat i w tym czasie tworzyłem wiele zleceń, z których klienci byli bardzo zadowoleni. Nie posiadam wygórowanych cen, lecz przed każdym podjęciem zlecenia biorę mała zaliczkę, aby "nie zostać zrobionym w balona". :D O moim doświadczeniu i zaangażowaniu może świadczyć to, że staram się pomagać wielu użytkownikom na forum, jestem dobrze oceniany na nim, nie posiadam praktycznie żadnych ostrzeżeń (oprócz 2, w ciągu 3 lat) i posiadam ponad 500 reputacji.

Jeśli jesteś zainteresowany, możesz napisać w tym poście, lub na prywatną wiadomość.

Jeśli to czytasz to znaczy, że jesteś zainteresowany, także zapraszam :)

Edytowane przez KrejzolekPRO
Odnośnik do komentarza
https://skript.pl/temat/27739-java-bukkit-programista-dla-ciebie/
Udostępnij na innych stronach

Cytat

3 lata doswiadczenia? ?

nie uzywasz funkcji javy 8, ani zadnych innych funkcji map oprocz get i put ;/

Cytat

trzymasz obiekt integer, zamiast po prostu typ prymitywny ktory zajmuje duzo mniej i nie moze byc nullem

do tego nazewnictwo paczek - :/

package pl.krejzolekpro.byobjects.objects;

public class User {

    private String name;
    private Integer amount;

    public User(String name){
        this.name = name;
        this.amount = 0;
        UserUtil.addUser(this);
    }

    public String getName() {
        return name;
    }

    public Integer getAmount() {
        return amount;
    }

    public void setAmount(Integer amount) {
        this.amount = amount;
    }
}

name powinno byc finalne, a amount nie obiektowym integer tylko typem prymitywnym - int,

Cytat
UserUtil.addUser(this);
 

przez to moga byc problemy, do tego poczytaj sobie o wstrzykiwaniu zaleznosci

public class UserUtil {

    public static List<User> userList = new ArrayList<User>();

    public static void addUser(User user){
        if(!userList.contains(user)){
            userList.add(user);
        }
    }

    public static User get(String name){
        for(User user : userList){
            if(user.getName().equals(name)){
                return user;
            }
        }
        return new User(name);
    }

 tego sie spodziewalem, ze znajde wlasnie to w klasie userutil ;/

        if(!userList.contains(user)){
            userList.add(user);
        }

sety pomagają w 'nie duplikowaniu się'

Cytat
public static List<User> userList = new ArrayList<User>();
 

juz dawno sa wyzsze wersje javy niz 8, a ty nie uzywasz zadnej funkcji z nich ;/

    public static User get(String name){
        for(User user : userList){
            if(user.getName().equals(name)){
                return user;
            }
        }
        return new User(name);
    }

lepiej jest raz z mapki wyciagnac taki obiekt po uuid, czy iterowac liste ktora ma np. 10k obiektow w sobie, a obiekt ktory chcesz jest akurat na samym koncu, pomysl jaka jest roznica w szybkosci, do tego nigdzie nie wrzucasz takiego usera, wiec to nie zadziala i do tego gracz moze zmienic sobie nick i wtedy juz traci ilosc "wejsc na serwer" bo nie uzywasz uuid ;/

    @EventHandler
    public void onJoin(PlayerJoinEvent event){
        Main.allLoginAmount++;
        User user = UserUtil.get(event.getPlayer().getName());
        Integer amount = user.getAmount() +1;
        user.setAmount(amount);
    }

 

 

no nie wiem, jak na 3 lata doswiadczenia to wyglada to dosc slabo, czemu ktos ma wziac akurat ciebie, a nie kogos innego z tego forum, kto ma kilka miesięcy doświadczenia, ale jego kod wyglada o wiele lepiej ;/

 

@edit 

Cytat

do tego nigdzie nie wrzucasz takiego usera

no mala pomylka, wrzucasz go w obiekcie user - widzisz? a kazda osoba edytujaca twoj projekt lub chociazby czytająca go powinna wiedzieć gdzie wszystko jest chociazby po nazywaniu klas i paczek, ale skad ktos ma wiedziec ze wrzucasz usera do listy w userutil w jego konstruktorze (podczas tworzeniu nowego obiektu) ;/

 

Cytat

czemu masz utilsy na obiektach XD

Edytowane przez yooniks
Odnośnik do komentarza
https://skript.pl/temat/27739-java-bukkit-programista-dla-ciebie/#findComment-183822
Udostępnij na innych stronach

@yooniks Ten jeden TicketSystem to porażka, prawda. Czemu na obiektach? Nie wiem, tak napisałem parę miesięcy temu i zostało :D Co do "projektu" forExample zrobiłem to na szybko dla jednego z tutejszych użytkowników, gdyż chciał się nauczyć tworzenia map i obiektów, put i get dlatego, aby nie zapełniać mu głowy resztą rzeczy, bo jeśli to zrozumie to sam dojdzie do reszty :) 

@Zioomkox Pluginy zacząłem pisać, ale gdy zobaczyłem, że nie ma drugiego programisty to jednak cały serwer od strony technicznej do dzisiaj bym pisał :D Wiesz nawet nie wiedziałem czy coś dostaje w zamian, jak będzie z czasem. Trochę źle zrobiłem, że nie odpisywałem i zniknąłem bez słowa - tak się nie powinno robić. Chciałem się też rozwijać, a nie siedzieć cały czas na bukkicie i sądząc, że to mi zapewni prace w przyszłości, a zapewne cały czas bym temu musiał poświęcić przez serwer :/ Od tamtego czasu uczyłem się frameworka Spring jak i języka PHP.

@LjayPL789 Na forum jest parę pluginów publicznych, ale są stare, więc to tyle chyba. Na githubie też nie mam żadnego pluginu do minecrafta, ale chyba taki będzie trzeba napisać i go opublikować.

Edytowane przez KrejzolekPRO
Odnośnik do komentarza
https://skript.pl/temat/27739-java-bukkit-programista-dla-ciebie/#findComment-183878
Udostępnij na innych stronach

  • Nieaktywny zablokował(a) ten temat
Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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