Skocz do zawartości

Rekomendowane odpowiedzi

Cześć!

Chciałbym wam przedstawić bardzo fajny dodatek skript-mirror
Ten dodatek pozwala nam importować(pobierać) eventy / wyrażenia z bukkita, javy a nawet innych pluginów!
Dzięki czemu będziemy mogli zrobić rzeczy, których w samym skripcie nie możemy zrobić.

Aby używać tego dodatku, trzeba umieć chociaż trochę składnie javy.

 

Aby zarejestrować nasz import, musimy dodać import: i w następnej linijce to, co chcemy importować np:

import:
	org.bukkit.event.inventory.InventoryClickEvent

Jeżeli chcemy użyć eventu to dajemy samą końcówkę w tym przypadku InventoryClickEvent.
Do pobierania czegoś z eventu mamy zmienną event np:

on InventoryClickEvent:
	set {_title} to event.getInventory().getTitle()
	set {_entity} to event.getWhoClicked()
	{_entity}.sendMessage("click click!")
	{_entity}.sendMessage("Nazwa inventory: %{_title}%")

Dla porównania tak wygląda taki event w javie:

Spoiler


    @EventHandler
    public void InventoryClickListener(InventoryClickEvent event) {
    	String title = event.getInventory().getTitle();
    	Entity entity = event.getWhoClicked();
    	entity.sendMessage("click click!");
    	entity.sendMessage("Nazwa inventory: " + title);
    }

 

 

Pare przykładów z użyciem skript-mirror:

Spoiler

Dwa razy szybsze przepalanie w piecykach:



import:
	org.bukkit.event.inventory.FurnaceBurnEvent
	org.bukkit.event.inventory.FurnaceSmeltEvent

on FurnaceSmeltEvent:
	set {_block} to event.getBlock().getState()
	{_block}.setCookTime(100)
on FurnaceBurnEvent:
	set {_block} to event.getBlock().getState()
	{_block}.setCookTime(100)

Kolorowanie wiadomosci i ustawianie format chatu:



on chat:
	event.setMessage(colored event.getMessage())
	event.setFormat("&6%event.getPlayer()% &8» &7%event.getMessage()%")

Wiadomość title po zmianie świata:



import:
	org.bukkit.event.player.PlayerChangedWorldEvent

on PlayerChangedWorldEvent:
	set {_world1} to event.getFrom()
	set {_world2} to event.getPlayer().getWorld().getName()
	event.getPlayer().sendTitle("&aZmiana swiata", "&c%{_world1}% &7-> &a%{_world2}%")

Golenie owcy



import:
	org.bukkit.event.player.PlayerShearEntityEvent

on PlayerShearEntityEvent:
	if event.getEntity() is sheep:
		send "&7Ogoliles owce!" to event.getPlayer()
		if event.getEntity().getName() is "jeb_":
			loop 16 times:
				event.getPlayer().getInventory().addItem((("35:%loop-number-1%" parsed as item)))
			send "&7Ogoliles kolorowa owce! dostales wszystkie kolory welny!" to event.getPlayer()

Wyświetlenie liczby pi 



import:
	java.lang.Math
	
command /PI [<text>]:
	trigger:
		send "PI wynosi: &6%Math.PI!%"

 

Pomysły na inne przykłady możecie dawać w komentarzach

Informacje
Możemy mieszać wyrażenia importowane z skriptowymi.
Jeżeli używamy importowanego eventu nie mamy w nim podstawowych zmiennych np: player, event-block, event-location
Każdy importowany event posiada jedną zmienna event z której musimy pobrać potrzebne nam informacje np: event.getPlayer()
Jeżeli chcemy importować coś z innego pluginu najpierw musimy go wgrać do folderu skript-mirror! (Jeżeli go nie ma to trzeba go stworzyć) 
 

Uwaga
Poradnik robiony pod wersje pluginu 0.19.1
Jeżeli twoim zdaniem czegoś brakuje w tym poradniku, napisz to w komentarzu, a na pewno to dodam!

Edytowane przez xAxee
Odnośnik do komentarza
https://skript.pl/temat/34737-skript-reflect-java-w-skrypcie/
Udostępnij na innych stronach

poradnik świetniutki, powiem tyle że brakuje tutaj w tym poradniku tego, że można importować także eventy z innych zewnętrznych pluginów jednak przed tym trzeba wgrać plugin do folderu skript-mirror

Odnośnik do komentarza
https://skript.pl/temat/34737-skript-reflect-java-w-skrypcie/#findComment-223300
Udostępnij na innych stronach

@xAxee a co jeżeli ktoś, tak jak ja, posiada Skript-mirror v0.9, tam importowanie jest inne:

on script load:
	import "ścieżka_klasy"

 

Edytowane przez knugi
Odnośnik do komentarza
https://skript.pl/temat/34737-skript-reflect-java-w-skrypcie/#findComment-223304
Udostępnij na innych stronach

10 minut temu, HotAngel2K17 napisał:

a nie lepiej po prostu zacząć pisać pluginy? xd

lepiej

6 minut temu, knugi napisał:

@xAxee a co jeżeli ktoś, tak jak ja, posiada Skript-mirror v0.9, tam importowanie jest inne:


on script load:
	import "ścieżka_klasy"

 

no to najlepiej zaaktualizować wersje pluginu ;). Dodałem informacje na jakiej wersji pluginu był robiony poradnik :D 

Odnośnik do komentarza
https://skript.pl/temat/34737-skript-reflect-java-w-skrypcie/#findComment-223306
Udostępnij na innych stronach

Teraz, xAxee napisał:

lepiej

no to najlepiej zaaktualizować wersje pluginu ;). Dodałem informacje na jakiej wersji pluginu był robiony poradnik :D 

Zacząłem pisać na 0.9 i gdy próbuję coś napisać na najnowszych ciągle mi nic nie pasuje i są błędy :whatever: powodzenia! xD 

Odnośnik do komentarza
https://skript.pl/temat/34737-skript-reflect-java-w-skrypcie/#findComment-223307
Udostępnij na innych stronach

Niesamowicie przydatny poradnik! Miałem już z tym styczność, lecz nie wiedziałem do końca jak tego używać, dzięki!

Edytowane przez HeezQ
Odnośnik do komentarza
https://skript.pl/temat/34737-skript-reflect-java-w-skrypcie/#findComment-223340
Udostępnij na innych stronach

15 godzin temu, xAxee napisał:

Chciałbym wam przedstawić bardzo fajny dodatek skript-mirror

Już jest ;) dzięki za opinie

Teraz, HeezQ napisał:

Przydałby się jeszcze link do skript-mirrora

 

Odnośnik do komentarza
https://skript.pl/temat/34737-skript-reflect-java-w-skrypcie/#findComment-223342
Udostępnij na innych stronach

Teraz, DαrϰVεnuς napisał:

Nie rozumiem

 

Jeżeli używamy pobranego eventu to nie mamy stworzonych takich zmiennych jak np player, event-block tylko mamy jedna zmienna event z której musimy pobierać potrzebne informacje.
np:
player event.getPlayer()
event-block
 = event.getBlock()
 

Odnośnik do komentarza
https://skript.pl/temat/34737-skript-reflect-java-w-skrypcie/#findComment-223847
Udostępnij na innych stronach

@xAxee to

Cytat

Jeżeli używamy importowanego eventu nie mamy w nim playera.

Zmień to troszkę, bo ja zrozumiałem, że nie ma playera koniec kropka, potem pacze a jest

Edytowane przez DαrϰVεnuς
Odnośnik do komentarza
https://skript.pl/temat/34737-skript-reflect-java-w-skrypcie/#findComment-223848
Udostępnij na innych stronach

  • xAxee zmienił(a) tytuł na [Skript-reflect] - Java w skrypcie?

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