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

Temat do usunięcia.


us3rn0tf0und

Rekomendowane odpowiedzi

  • 2 tygodnie później...
Opublikowano
Dnia 6.09.2017 o 21:36, ScoreBoard napisał:

Witaj, pewnie wszedłeś w ten temat aby dowiedzieć się więcej o mnie lub o moich usługach, poniżej postaram się to dokładnie opisać. :)

Jestem ScoreBoard, zaczynałem od skryptów teraz tylko i wyłącznie piszę pluginy, w pisaniu pluginów mam staż ok. 1 roku. Napisałem w swojej karierze ok. 20 pluginów oraz kilka większych zleceń tj. realizacje serwerów. Obecnie współpracuję z Arganem, właścicielem serwera hardcore - Argania.pl - dlatego nie mogę zaoferować pluginów z serwera. Natomiast mogę ci zapewnić: dobrze napisany plugin w przystępnej cenie i dość szybką realizację, profesjonalizm oraz czas który poświęcam wraz z klientem na testowanie pluginu (Jak ktoś chce, niekonieczne). Integracja mavena nie stanowi dla mnie najmniejszego problemu. Jeden z moich mniejszych projektów widnieje na github'ie, w niedalekiej przyszłości pojawi się tam dużo więcej pluginów darmowych. Rzeczy które od ciebie wymagam: wynagrodzenie za napisany plugin, przy większych lub średnich projektach biorę zaliczkę (niezwłoczna za poświęcony czas), a na końcu bądź w środku (zależne od klienta) reszta ustalonej sumy. Przyjmuję płatności; przelewem, paypal, paysafecard, sms premium, formy płatnicze najbardziej dla mnie opłacalne są wymienione w kolejności od lewej do prawej. Rzeczy które oferuje to; napisanie pluginu od zera, edycja, dodanie jakieś rzeczy bądź optymalizacja. Wiek przy zleceniach nie ma znaczenia, jedyna rzecz o którą proszę to podchodzenie do sprawy poważnie jak dorośli ludzie, bez wiadomości typu "nq, no elo", wierzcie mi na słowo - programistę może to bardzo zniechęcić. Kontakt; TeamSpeak; HeroSquad.Eu Email: [email protected] W razie pytań proszę się kontaktować ze mną.

Umiejętności: BukkitAPI, Java Swing, Java, Maven

 

6f17e4f85ae7b.png  

Podsumujmy tego pana xD 

Cytat

 Jeden z moich mniejszych projektów widnieje na github'ie, w niedalekiej przyszłości pojawi się tam dużo więcej pluginów darmowych.

Mówisz o tym projekcie? https://github.com/ScoreBoardDEV/FunnyDeaths

package com.scoreboard.funnydeaths;

import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin{

	public static Main plugin;
	
	@Override
	public void onEnable(){
		plugin = this;
		saveDefaultConfig();
		Bukkit.getPluginManager().registerEvents(new DeathEvent(), this);
		this.getLogger().info("Plugin FunnyDeaths Zostal: Wlaczony");
	}
	
	public static Main getPlugin(){
		return plugin;
	}
	
	@Override
	public void onDisable(){
		this.getLogger().info("Plugin FunnyDeaths Zostal: Wylaczony");
	}
}
		this.getLogger().info("Plugin FunnyDeaths Zostal: Wlaczony");

aha, ciekawe. po co to?

Przecież serwer sam w onLoad oraz onEnable informuje ,że plugin jest ładowany lub uruchamiany.

	public static Main getPlugin(){
		return plugin;
	}

niepotrzebna metoda, sam JavaPlugin posiada już w sobie metodę getPlugin(), więc skoro rozszerzasz swój super ultra hiper plugin o niego to warto byłoby troche poczytać w dokumentacji.

 

O pakietach nawet nie wspomne, https://docs.oracle.com/javase/tutorial/java/package/packages.html

 

 

DeathEvent,

package com.scoreboard.funnydeaths;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;

import com.gmail.filoghost.holographicdisplays.api.Hologram;
import com.gmail.filoghost.holographicdisplays.api.HologramsAPI;
import com.gmail.filoghost.holographicdisplays.api.VisibilityManager;

import net.dzikoysk.funnyguilds.basic.User;

public class DeathEvent implements Listener{

	@EventHandler(priority=EventPriority.HIGHEST)
	public void onDeath(PlayerDeathEvent e){
		final Player p = e.getEntity().getPlayer();
		Location l = e.getEntity().getLocation().add(0,2,0);
		Hologram h = HologramsAPI.createHologram(Main.getPlugin(), l);
		if(p.getKiller() instanceof Player){			
			final Player killer = e.getEntity().getKiller();
				for(String s : Main.getPlugin().getConfig().getStringList("PlayerDeathByPlayer")){
					s = s.replace("{PLAYER}", p.getName());
					s = s.replace("{KILLER}", killer.getName());
					s = s.replace("&", "§");
					if(User.get(p).hasGuild()){
					   s = s.replace("{VTAG}", User.get(p).getGuild().getTag().toUpperCase());
					}else{
						s = s.replace("{VTAG}", "");
					}
					if(User.get(killer).hasGuild()){
						s = s.replace("{KTAG}", User.get(killer).getGuild().getTag().toUpperCase());
					}else{
						s = s.replace("{KTAG}", "");
					}
					h.appendTextLine(s);
					}
			}else{
				for(String b : Main.getPlugin().getConfig().getStringList("PlayerDeathByOther")){
					b = b.replace("{PLAYER}", p.getName());
					b = b.replace("&", "§");
					if(User.get(p).hasGuild()){
						b = b.replace("{TAG}", User.get(p).getGuild().getTag().toUpperCase());
					}else{
						b = b.replace("{TAG}", "");
					}
					h.appendTextLine(b);
				}
			}
			VisibilityManager vm = h.getVisibilityManager();
			vm.setVisibleByDefault(true);
	        Bukkit.getScheduler().scheduleSyncDelayedTask(Main.getPlugin(),
	                new Runnable() {
	                    public void run() {               
	                        h.delete();
	                    }
	                }, 20L* Main.getPlugin().getConfig().getInt("HologramTime"));
				}
			}

raz zmienna finalna, raz nie, bardzo brzydko sformatowany kod.

 

Brak sprawdzania czy plugin FunnyGuilds lub HologramAPI istnieje lub sprawdzanie wersji serwera (chociażby po to, aby hologramy poprawnie działaly) - w klasie głownej

 

plugin.yml

name: FunnyDeaths
main: com.scoreboard.funnydeaths.Main
version: 1.0 
author: ScoreBoard

gdzie loadBefore i depends?

 

cały ten plugin to porażka, jeżeli ScoreBoard robi podobnie swoje 'pluginy' jak wygląda ten na githubie, to tylko współczuję kupującym.

 

No dobra, ale co tu jeszcze on ma?

Cytat

Umiejętności: BukkitAPI, Java Swing, Java, Maven

Java Swing, tak?

https://github.com/ScoreBoardDEV/SwingTutorials

Cytat

 ScoreBoardDEV/SwingTutorials  Java Dec 20

20 grudnia zforkowałeś tutorial z java swing, a teraz dajesz sobie to w "umiejętności" ? xD

Cytat

Maven

to że umiesz ogarnąć dependencies i repositories nie oznacza już ,że potrafisz obsługiwać się tym narzędziem.

Cytat

Hobby:Bukkit-Api, Java EE, Java, Unity, Android aplications

pisze w android APLIcations a nie wie jak to sie pisze xD

 

nie polecam, totalnie nie zna sie na tym co robi :)

 

Aktualnie interesuję się javą, powoli ogarniam java swing i awt, czasem bawię się HTML.

Opublikowano
1 godzinę temu, ˈyøøniks napisał:

Podsumujmy tego pana xD 

Mówisz o tym projekcie? https://github.com/ScoreBoardDEV/FunnyDeaths


package com.scoreboard.funnydeaths;

import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin{

	public static Main plugin;
	
	@Override
	public void onEnable(){
		plugin = this;
		saveDefaultConfig();
		Bukkit.getPluginManager().registerEvents(new DeathEvent(), this);
		this.getLogger().info("Plugin FunnyDeaths Zostal: Wlaczony");
	}
	
	public static Main getPlugin(){
		return plugin;
	}
	
	@Override
	public void onDisable(){
		this.getLogger().info("Plugin FunnyDeaths Zostal: Wylaczony");
	}
}

		this.getLogger().info("Plugin FunnyDeaths Zostal: Wlaczony");

aha, ciekawe. po co to?

Przecież serwer sam w onLoad oraz onEnable informuje ,że plugin jest ładowany lub uruchamiany.


	public static Main getPlugin(){
		return plugin;
	}

niepotrzebna metoda, sam JavaPlugin posiada już w sobie metodę getPlugin(), więc skoro rozszerzasz swój super ultra hiper plugin o niego to warto byłoby troche poczytać w dokumentacji.

 

O pakietach nawet nie wspomne, https://docs.oracle.com/javase/tutorial/java/package/packages.html

 

 

DeathEvent,


package com.scoreboard.funnydeaths;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;

import com.gmail.filoghost.holographicdisplays.api.Hologram;
import com.gmail.filoghost.holographicdisplays.api.HologramsAPI;
import com.gmail.filoghost.holographicdisplays.api.VisibilityManager;

import net.dzikoysk.funnyguilds.basic.User;

public class DeathEvent implements Listener{

	@EventHandler(priority=EventPriority.HIGHEST)
	public void onDeath(PlayerDeathEvent e){
		final Player p = e.getEntity().getPlayer();
		Location l = e.getEntity().getLocation().add(0,2,0);
		Hologram h = HologramsAPI.createHologram(Main.getPlugin(), l);
		if(p.getKiller() instanceof Player){			
			final Player killer = e.getEntity().getKiller();
				for(String s : Main.getPlugin().getConfig().getStringList("PlayerDeathByPlayer")){
					s = s.replace("{PLAYER}", p.getName());
					s = s.replace("{KILLER}", killer.getName());
					s = s.replace("&", "§");
					if(User.get(p).hasGuild()){
					   s = s.replace("{VTAG}", User.get(p).getGuild().getTag().toUpperCase());
					}else{
						s = s.replace("{VTAG}", "");
					}
					if(User.get(killer).hasGuild()){
						s = s.replace("{KTAG}", User.get(killer).getGuild().getTag().toUpperCase());
					}else{
						s = s.replace("{KTAG}", "");
					}
					h.appendTextLine(s);
					}
			}else{
				for(String b : Main.getPlugin().getConfig().getStringList("PlayerDeathByOther")){
					b = b.replace("{PLAYER}", p.getName());
					b = b.replace("&", "§");
					if(User.get(p).hasGuild()){
						b = b.replace("{TAG}", User.get(p).getGuild().getTag().toUpperCase());
					}else{
						b = b.replace("{TAG}", "");
					}
					h.appendTextLine(b);
				}
			}
			VisibilityManager vm = h.getVisibilityManager();
			vm.setVisibleByDefault(true);
	        Bukkit.getScheduler().scheduleSyncDelayedTask(Main.getPlugin(),
	                new Runnable() {
	                    public void run() {               
	                        h.delete();
	                    }
	                }, 20L* Main.getPlugin().getConfig().getInt("HologramTime"));
				}
			}

raz zmienna finalna, raz nie, bardzo brzydko sformatowany kod.

 

Brak sprawdzania czy plugin FunnyGuilds lub HologramAPI istnieje lub sprawdzanie wersji serwera (chociażby po to, aby hologramy poprawnie działaly) - w klasie głownej

 

plugin.yml


name: FunnyDeaths
main: com.scoreboard.funnydeaths.Main
version: 1.0 
author: ScoreBoard

gdzie loadBefore i depends?

 

cały ten plugin to porażka, jeżeli ScoreBoard robi podobnie swoje 'pluginy' jak wygląda ten na githubie, to tylko współczuję kupującym.

 

No dobra, ale co tu jeszcze on ma?

Java Swing, tak?

https://github.com/ScoreBoardDEV/SwingTutorials

20 grudnia zforkowałeś tutorial z java swing, a teraz dajesz sobie to w "umiejętności" ? xD

to że umiesz ogarnąć dependencies i repositories nie oznacza już ,że potrafisz obsługiwać się tym narzędziem.

pisze w android APLIcations a nie wie jak to sie pisze xD

 

nie polecam, totalnie nie zna sie na tym co robi :)

Ahh, nadal masz ból dupki, że mi się powodzi z Arganem? Nie próbuj wpychać się komuś na siłę. Większość tego co tutaj napisałeś to bzdury, nie mam czasu aby odpisywać na nie.

Temat do zamknięcia.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...