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

[Problem] Trochę pytań jak coś napisać w pluginie


Rekomendowane odpowiedzi

Opublikowano

shooly - jakiś tutek na worldguard api, nie mam już linka.

 

Ja się uczę tego worldguarda, więc nie jestem jakimś specem od tego i nie wiem czy powinno być regions, czy set.

 

Czyli mówicie, że zawsze jest powyżej jednego cuboida?

Rozumiem, że skoro tak to wliczany jest __global__ ?

"Los nagradza przygotowanych"

 

(Liberator 2)

  • Odpowiedzi 142
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

shooly - jakiś tutek na worldguard api, nie mam już linka.

 

Ja się uczę tego worldguarda, więc nie jestem jakimś specem od tego i nie wiem czy powinno być regions, czy set.

 

Czyli mówicie, że zawsze jest powyżej jednego cuboida?

Rozumiem, że skoro tak to wliczany jest __global__ ?

nie... 

LinkedList <String> regions = new LinkedList <String>();
			
    if (regions.size() > 0)

tworzysz tutaj nową liste bez żadnych elementów, a potem chcesz by było w niej więcej niż 0 elementów.

 

To jest bez sensu :P

 

Usuń tego ifa, lub daj tam "set.size()"

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

shooly - jakiś tutek na worldguard api, nie mam już linka.

 

Ja się uczę tego worldguarda, więc nie jestem jakimś specem od tego i nie wiem czy powinno być regions, czy set.

 

Czyli mówicie, że zawsze jest powyżej jednego cuboida?

Rozumiem, że skoro tak to wliczany jest __global__ ?

 

A co ma do tego WorldGuard? -,-

Opublikowano

Bo to używa cuboidów world guarda.

 

Czyli można nim zrobić, żeby w danym cuboidzie mogła coś robić mniejsza grupka osób => można wykluczyć adminów, itp...

"Los nagradza przygotowanych"

 

(Liberator 2)

Opublikowano

Bo to używa cuboidów world guarda.

 

Czyli można nim zrobić, żeby w danym cuboidzie mogła coś robić mniejsza grupka osób => można wykluczyć adminów, itp...

poprawiłeś już ten błąd i działa? 

Bo tylko odpowiadasz na nic nie znaczące pytania, testuj czy zadziała jak trzeba :)

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

Bo to używa cuboidów world guarda.

 

Czyli można nim zrobić, żeby w danym cuboidzie mogła coś robić mniejsza grupka osób => można wykluczyć adminów, itp...

 

Aha, a więc cuboidami sprawdzasz czy lista ma więcej elem. niż 0 i myślisz logicznie? Okej.

 

3... 2... 1... WARN ZA OFFTOPIC.

Opublikowano

poprawiłeś już ten błąd i działa? 

Bo tylko odpowiadasz na nic nie znaczące pytania, testuj czy zadziała jak trzeba :)

 

Nie działa. Mam robić tego debuga (te kody)?

 

Czy jak ma się opa to nie można przerwać eventu niszczenia bloku?

Jeżeli tak to czy zrobienie czegoś takiego, że system zabiera opa, anuluje event i po jednym (lub kilku) ticku oddaje opa pomoże?

 

 

Aha, a więc cuboidami sprawdzasz czy lista ma więcej elem. niż 0 i myślisz logicznie? Okej.

 

3... 2... 1... WARN ZA OFFTOPIC.

 

Nie. Na listę wpisuję cuboidy, które objęte są dodatkową ochroną i muszę sprawdzić, czy dany gracz znajduję się w którymś z nich.

"Los nagradza przygotowanych"

 

(Liberator 2)

Opublikowano

Nie działa. Mam robić tego debuga (te kody)?

 

Czy jak ma się opa to nie można przerwać eventu niszczenia bloku?

Jeżeli tak to czy zrobienie czegoś takiego, że system zabiera opa, anuluje event i po jednym (lub kilku) ticku oddaje opa pomoże?

 

 

 

Nie. Na listę wpisuję cuboidy, które objęte są dodatkową ochroną i muszę sprawdzić, czy dany gracz znajduję się w którymś z nich.

wklej jeszcze aktualny kod

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

Aktualny kod:

		@EventHandler (priority = EventPriority.LOW)
		public void onBreak (BlockBreakEvent event)
		{
			Location location = event.getPlayer().getLocation();
			
			RegionManager regionManager = getWorldGuard().getRegionManager( location.getWorld());
			ApplicableRegionSet set = regionManager.getApplicableRegions( location );
			
			FileConfiguration config = getConfig();
			
			LinkedList <String> regions = new LinkedList <String>();
			
			for (ProtectedRegion region : set)
			{
				regions.add(region.getId());
			}
			
			if (!regions.isEmpty())
			{
				for (int i = 0; i < regions.size(); i++)
				{
					File file = new File("/plugins/ExtensionPack/regions/"+event.getPlayer().getLocation().getWorld().getName()+"/"+regions.get(i)+".yml");
					FileConfiguration cuboid = YamlConfiguration.loadConfiguration(file);
					
					if (file.exists())
					{
						int mode = cuboid.getInt("BreakMode");
						Player p = event.getPlayer();
						
						if (mode > 0 && !p.getName().equalsIgnoreCase(config.getString("ServerName")) && !p.getName().equalsIgnoreCase(cuboid.getString("owner")))
						{
							if (!p.hasPermission("extension.cube.break." + regions.get(i)))
							{
								event.setCancelled(true);
								
								p.sendMessage(ChatColor.RED + "[Extension Pack] Nie masz uprawnień do niszczenia bloków w tym regionie!");
							}
							else
							{
								if (mode == 2)
								{
									if (!p.isOp())
									{
										event.setCancelled(true);
										
										p.sendMessage(ChatColor.RED + "[Extension Pack] Masz uprawnienia do niszczenia bloków w tym regionie, ale musisz mieć też OP!");
									}
								}
								else
								{
									if (mode == 3 || mode == 4)
									{
										List<String> allowed = new ArrayList();
											
										allowed = (List<String>) config.getList("BreakList");
											
										if (!allowed.contains(p.getName()))
										{
											event.setCancelled(true);
											
											p.sendMessage(ChatColor.RED + "[Extension Pack] Nie jesteś dopuszczony do niszczenia bloków w tym regionie!");
										}
										else
										{
											if (mode == 4 && !p.isOp())
											{
												event.setCancelled(true);
												
												p.sendMessage(ChatColor.RED + "[Extension Pack] Do niszczenia bloków w tym regionie wymagany jest OP!");
											}
										}
									}
								}
							}
							
							if (mode > 4)
							{
								event.setCancelled(true);
								
								p.sendMessage(ChatColor.RED + "[Extension Pack] Musisz być właścicielem regionu, żeby móc tu rozwalać bloki!");
							}
						}
					}
				}
			}
		}

Zrobiłem debuga i wyszło, że ten if zwraca wartość fałsz i się nie wykonuje (czyli regions jest puste - tak z tego wynika, a to nie jest prawidłowe, gdyż rozwalam blok w cuboidzie o nazie test):

if (!regions.isEmpty())

A tak się zapytam.

 

Czy dobrze pamiętam, że w bukkicie jest takie coś jak CustomItem (lub CustomItems - nie pamiętam nazwy), ale nie chodzi mi tu o plugin.

Wydaję mi się, że kiedyś właśnie znalazłem jakąś taką procedurę / klasę / czy jak to nazwać :) do tworzenia własnych itemów (normalnie pisząc plugina).

 

Czy takie coś jest możliwe (według mnie plugin foodycraft dowodzi, że tak - m.in. pieczone jabłko, inna textura niż normalnego jabłka) i jeżeli tak to jak tego używać?'

 

 

A także jak dzieli się stringa na ciągi 16 znakowe?

Próbowałem coś takiego pisać, ale wychodziło, że pierwszy ciąg ma 16 znaków, drugi 19, a reszta jest zawsze pusta.

 

 

 

I taki mały OFF-Topic (może ktoś mi przy okazji odpowie - jeżeli nie można czegoś takiego pisać to proszę o skasowanie tego):

Jak się zwiększa limit warnów bo już mi się kończą?

"Los nagradza przygotowanych"

 

(Liberator 2)

Opublikowano

Aktualny kod:

		@EventHandler (priority = EventPriority.LOW)
		public void onBreak (BlockBreakEvent event)
		{
			Location location = event.getPlayer().getLocation();
			
			RegionManager regionManager = getWorldGuard().getRegionManager( location.getWorld());
			ApplicableRegionSet set = regionManager.getApplicableRegions( location );
			
			FileConfiguration config = getConfig();
			
			LinkedList <String> regions = new LinkedList <String>();
			
			for (ProtectedRegion region : set)
			{
				regions.add(region.getId());
			}
			
			if (!regions.isEmpty())
			{
				for (int i = 0; i < regions.size(); i++)
				{
					File file = new File("/plugins/ExtensionPack/regions/"+event.getPlayer().getLocation().getWorld().getName()+"/"+regions.get(i)+".yml");
					FileConfiguration cuboid = YamlConfiguration.loadConfiguration(file);
					
					if (file.exists())
					{
						int mode = cuboid.getInt("BreakMode");
						Player p = event.getPlayer();
						
						if (mode > 0 && !p.getName().equalsIgnoreCase(config.getString("ServerName")) && !p.getName().equalsIgnoreCase(cuboid.getString("owner")))
						{
							if (!p.hasPermission("extension.cube.break." + regions.get(i)))
							{
								event.setCancelled(true);
								
								p.sendMessage(ChatColor.RED + "[Extension Pack] Nie masz uprawnień do niszczenia bloków w tym regionie!");
							}
							else
							{
								if (mode == 2)
								{
									if (!p.isOp())
									{
										event.setCancelled(true);
										
										p.sendMessage(ChatColor.RED + "[Extension Pack] Masz uprawnienia do niszczenia bloków w tym regionie, ale musisz mieć też OP!");
									}
								}
								else
								{
									if (mode == 3 || mode == 4)
									{
										List<String> allowed = new ArrayList();
											
										allowed = (List<String>) config.getList("BreakList");
											
										if (!allowed.contains(p.getName()))
										{
											event.setCancelled(true);
											
											p.sendMessage(ChatColor.RED + "[Extension Pack] Nie jesteś dopuszczony do niszczenia bloków w tym regionie!");
										}
										else
										{
											if (mode == 4 && !p.isOp())
											{
												event.setCancelled(true);
												
												p.sendMessage(ChatColor.RED + "[Extension Pack] Do niszczenia bloków w tym regionie wymagany jest OP!");
											}
										}
									}
								}
							}
							
							if (mode > 4)
							{
								event.setCancelled(true);
								
								p.sendMessage(ChatColor.RED + "[Extension Pack] Musisz być właścicielem regionu, żeby móc tu rozwalać bloki!");
							}
						}
					}
				}
			}
		}

Zrobiłem debuga i wyszło, że ten if zwraca wartość fałsz i się nie wykonuje (czyli regions jest puste - tak z tego wynika, a to nie jest prawidłowe, gdyż rozwalam blok w cuboidzie o nazie test):

if (!regions.isEmpty())

A tak się zapytam.

 

Czy dobrze pamiętam, że w bukkicie jest takie coś jak CustomItem (lub CustomItems - nie pamiętam nazwy), ale nie chodzi mi tu o plugin.

Wydaję mi się, że kiedyś właśnie znalazłem jakąś taką procedurę / klasę / czy jak to nazwać :) do tworzenia własnych itemów (normalnie pisząc plugina).

 

Czy takie coś jest możliwe (według mnie plugin foodycraft dowodzi, że tak - m.in. pieczone jabłko, inna textura niż normalnego jabłka) i jeżeli tak to jak tego używać?'

 

 

A także jak dzieli się stringa na ciągi 16 znakowe?

Próbowałem coś takiego pisać, ale wychodziło, że pierwszy ciąg ma 16 znaków, drugi 19, a reszta jest zawsze pusta.

 

 

 

I taki mały OFF-Topic (może ktoś mi przy okazji odpowie - jeżeli nie można czegoś takiego pisać to proszę o skasowanie tego):

Jak się zwiększa limit warnów bo już mi się kończą?

ale "regions" to nie jest lista regionów, tylko to ta twoja lista do przechowywania ich nazw która zrobiłes 1 linijke wyżej :D pisze już ci to 3 raz...

Wieć nie ma prawo cos w niej być bo dopiero co ja stworzyłeś.

 

Co do pluginu... on używa spout a nie tylko bukkita.

 

co do dzielenia stringów... pisze z pamięci więc może być źle :D

String s = "To jest string który chce podzielić na pewne odcinki";
int size = 15; // wielkość na jaką chce podzielić.
List<String> parts = new ArrayList<>(); // lista do której zapisze wynik
int pointer = 0;
int stringSize = s.length();
int next = Math.min(size, stringSize); // jak string jest mniejszy niż 15 znaków, to mam pewność że nie będzie błędu bo wybierze jego długość :P
while(next <= stringSize)
{
    parts.add(s.substring(pointer, next)); // dodaje element
    pointer += next; // przesuwam znacznik
    next = Math.min(pointer+size, stringSize); // ustawiam limit na kolejne 15 znaków lub wielkość stringa.
}

wydaje mi się że powinno zadziałać :P

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

ale "regions" to nie jest lista regionów, tylko to ta twoja lista do przechowywania ich nazw która zrobiłes 1 linijke wyżej :D pisze już ci to 3 raz...

Wieć nie ma prawo cos w niej być bo dopiero co ja stworzyłeś.

 

Co do pluginu... on używa spout a nie tylko bukkita.

 

co do dzielenia stringów... pisze z pamięci więc może być źle :D

String s = "To jest string który chce podzielić na pewne odcinki";
int size = 15; // wielkość na jaką chce podzielić.
List<String> parts = new ArrayList<>(); // lista do której zapisze wynik
int pointer = 0;
int stringSize = s.length();
int next = Math.min(size, stringSize); // jak string jest mniejszy niż 15 znaków, to mam pewność że nie będzie błędu bo wybierze jego długość :P
while(next <= stringSize)
{
    parts.add(s.substring(pointer, next)); // dodaje element
    pointer += next; // przesuwam znacznik
    next = Math.min(pointer+size, stringSize); // ustawiam limit na kolejne 15 znaków lub wielkość stringa.
}

wydaje mi się że powinno zadziałać :P

 

 

To jak to zrobić poprawnie?

 

Zamiast regions używać set?

Czy regions jest wogóle potrzebne w tym kodzie?

 

To można zrobić to CustomItems czy nie?

Nie ważne czego wymaga, ważne, że to wystarczy wgrać na serwer - nie tak jak mody, że trzeba też u gracza.

"Los nagradza przygotowanych"

 

(Liberator 2)

Opublikowano

To jak to zrobić poprawnie?

 

Zamiast regions używać set?

Czy regions jest wogóle potrzebne w tym kodzie?

 

To można zrobić to CustomItems czy nie?

Nie ważne czego wymaga, ważne, że to wystarczy wgrać na serwer - nie tak jak mody, że trzeba też u gracza.

Spout to modyfikacja która musi być wgrana i na server i do gracza :P

 

do regions masz zapisywać te regiony które wykryjesz, ale tego if (regions <= 0) to usuń :P

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

A czy spout wymaga forge?

 

I czy można zrobić tak, że jak nie ma spout to się sam pobierze?

 

A co do kodu to wywalę ifa i będzie działał?

"Los nagradza przygotowanych"

 

(Liberator 2)

Opublikowano

A czy spout wymaga forge?

 

I czy można zrobić tak, że jak nie ma spout to się sam pobierze?

 

A co do kodu to wywalę ifa i będzie działał?

musza miec specjalny launcher spouta (do tego trudno znaleźć wersje dla no-premium)

 

Jak wywalisz if-a to powinno zaskoczyć

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

Ja o non-premium się nie martwię, gdyż mam premkę (ale gracze mojego serwera w większości nie mają).

 

IFa to mogę wywalić, ale mam problem z minecraftem.

 

Jakbyście mogli pomóc: http://www.mpcforum.pl/topic/1222319-problem-nie-moge-wbic-na-zaden-serwer-minecrafta/#entry10445622

 

A nie można dodawać swoich itemów bez spouta?

A jakoś bez textur?

Że jeżeli na bloku diax umieści się jakąś tabliczkę to działa jak czytnik kart, itd...?

 

I jeszcze jedno.

Czy można umieścić jako obraz własny plik graficzny, ale tak, żeby wszyscy gracze na serwerze go widzieli (nie chodzi mi tu o hologram)?

"Los nagradza przygotowanych"

 

(Liberator 2)

Opublikowano

Zachęcam do oglądnięcia filmów Grzegorza tam znajdziesz odpowiedzi na twoje pytania ;)

Dobrze wytłumaczone przez co prawie każdy zielony początkujący programista nauczy się podstaw pisania pluginów

 

Tu link do playlisty Tworzenie pluginów Bukkit


Pozdrawiam i miłego oglądania :)

Opublikowano

Ja o non-premium się nie martwię, gdyż mam premkę (ale gracze mojego serwera w większości nie mają).

 

IFa to mogę wywalić, ale mam problem z minecraftem.

 

Jakbyście mogli pomóc: http://www.mpcforum.pl/topic/1222319-problem-nie-moge-wbic-na-zaden-serwer-minecrafta/#entry10445622

 

A nie można dodawać swoich itemów bez spouta?

A jakoś bez textur?

Że jeżeli na bloku diax umieści się jakąś tabliczkę to działa jak czytnik kart, itd...?

 

I jeszcze jedno.

Czy można umieścić jako obraz własny plik graficzny, ale tak, żeby wszyscy gracze na serwerze go widzieli (nie chodzi mi tu o hologram)?

własne itemki można robić np zapisując sobie jakies dane w jego podpisie i potem sprawdzać co i jak.

 

Co do grafiki... niezbyt, ale można wygenerować mapę z mniej więcej  wybranym obrazkiem 

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

Mam kłopot: Jak zrobić tak w evencie PlayerMoveEvent, że gdy ktoś wejdzie do danego cuboida to go tepa poza niego?

 

Zrobiłem już:

p.teleport(event.getFrom());

, ale to nie działa, gdyż dany gracz nie może wtedy się wogóle ruszać (ani wejść dalej, ani z niego wyjść).

 

Proszę o pomoc.

"Los nagradza przygotowanych"

 

(Liberator 2)

Opublikowano

to jest własny system cuboidów? bo możesz uzyć WG i flagi entry

 

 

NP chamy zablkować wchodzenie na region "pupa"

A jak własny... to musisz sprawdzić jaki cuboid jest w event.getFrom() zakładamy że nie ma tam żadnego regionu, oraz jaki region jest w event.getTo() zakładamy ze to ta "pupa"

Więc sprawdzamy czy regionTo ma nazwe "pupa" i regionFrom jest nullem lub innym regionem niż "pupa" - w naszym przykładzie to prawda, więc tepamy używając tego twojego kodu :P

 

Albo chyba zadziała jak będziesz sprawdzać tylko czy getTo znajduje się na tym regionie i wtedy tepać

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano
[...]

 

co do dzielenia stringów... pisze z pamięci więc może być źle :D

String s = "To jest string który chce podzielić na pewne odcinki";
int size = 15; // wielkość na jaką chce podzielić.
List<String> parts = new ArrayList<>(); // lista do której zapisze wynik
int pointer = 0;
int stringSize = s.length();
int next = Math.min(size, stringSize); // jak string jest mniejszy niż 15 znaków, to mam pewność że nie będzie błędu bo wybierze jego długość :P
while(next <= stringSize)
{
    parts.add(s.substring(pointer, next)); // dodaje element
    pointer += next; // przesuwam znacznik
    next = Math.min(pointer+size, stringSize); // ustawiam limit na kolejne 15 znaków lub wielkość stringa.
}

wydaje mi się że powinno zadziałać :P

 

Właśnie miałem chwilę, żeby to przetestować.

Kazałem mu podzielić na części po 14 znaków (zmienna size), a on wywalił błąd w konsoli.

 

Wynikało z niego, że nie może znaledź w tym tekscie znaku o kodzie: - 14.

 

 

A i jeszcze jedno.

Jak zrobić reload pluginu (configu - bo o to głównie chodzi)?

 

I czy przy bungeecord da się jakoś odczytać jakoś IP gracza (chyba nie, ale tak się pytam)?

"Los nagradza przygotowanych"

 

(Liberator 2)

Opublikowano

Właśnie miałem chwilę, żeby to przetestować.

Kazałem mu podzielić na części po 14 znaków (zmienna size), a on wywalił błąd w konsoli.

 

Wynikało z niego, że nie może znaledź w tym tekscie znaku o kodzie: - 14.

 

 

A i jeszcze jedno.

Jak zrobić reload pluginu (configu - bo o to głównie chodzi)?

 

I czy przy bungeecord da się jakoś odczytać jakoś IP gracza (chyba nie, ale tak się pytam)?

Fakt zrypałam :P

        String s = "dfvgrkldhguityguitr5huighi5hygur5huighriguirthgui";
        int size = 15; // wielkość na jaką chce podzielić.
        List<String> parts = new ArrayList<>(); // lista do której zapisze wynik
        int pointer = 0, next = 0;
        int stringSize = s.length();
        while (next < stringSize)
        {
            pointer = next; // przesuwam znacznik
            next = Math.min(pointer + size, stringSize); //  jak string jest mniejszy niż 15 znaków, to mam pewność że nie będzie błędu bo wybierze jego długość, a tak to ustawi kolejną granice podziału.
            parts.add(s.substring(pointer, next)); // dodaje element
        }

to powinno działać bez problemu :)

 

Co do IP, trzeba chybaq włączyć w spigocie i w bunngecord jakąs tam opcje :P

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

Dzieki.

 

A jak zrobić reload configu w pluginie?

I jak zrobić, żeby program uznawał np. &c w stringu jako ChatColor.RED?

 

 

I mam kłopot z datą.

 

Chodzi mi o coś takiego, że jak się poda w parametrze np. 5h to ma odczytać aktualną datę (zapisać w jakiejś zmienej), następnie dodać 5 godzin i wrzucić do bazy MySQL.

 

Już bazę chyba ograrnąłęm, ale nie wiem jak z tą datą. Z tym 1s, 1m, 1h, 1d, 1M, 1y, ...

 

 

(i nie zapomnijcie tym razem odpowiedzieć na ten problem z reloadem i kolorami)

"Los nagradza przygotowanych"

 

(Liberator 2)

Opublikowano

Żeby zrobić reload po prostu tworzysz metode która wczyta config i dajesz ją w onEnable() i do komendy reloadującej.

Jesli pomoglem daj Like.

Opublikowano

Dzieki.

 

A jak zrobić reload configu w pluginie?

I jak zrobić, żeby program uznawał np. &c w stringu jako ChatColor.RED?

 

 

I mam kłopot z datą.

 

Chodzi mi o coś takiego, że jak się poda w parametrze np. 5h to ma odczytać aktualną datę (zapisać w jakiejś zmienej), następnie dodać 5 godzin i wrzucić do bazy MySQL.

 

Już bazę chyba ograrnąłęm, ale nie wiem jak z tą datą. Z tym 1s, 1m, 1h, 1d, 1M, 1y, ...

 

 

(i nie zapomnijcie tym razem odpowiedzieć na ten problem z reloadem i kolorami)

jak uzywasz tego domyślnego getConfig itp to tam masz chyba tej opcje jak reloadConfig

a jak tworzysz samemu YamlConfiguration i wtedy musisz jeszcze raz użyc opcji .load(File)

 

kolorki:

String string = "jakis tekst &4dfgdfg"

string = ChatColor.translateAlternateColorCodes('&', string)

 

essentials ma fajny kodzik

https://github.com/essentials/Essentials/blob/2.x/Essentials/src/com/earth2me/essentials/utils/DateUtil.java#L19

wtedy mozna używać np "5y3w23s" - 5 lat, 3 tygodnie i 23 sekundy

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...