Skocz do zawartości
  • 0

ID of item


Saanjuk

Pytanie

przykład: https://skript.pl/temat/29215-pobranie-id-przedmiotu/?do=findComment&comment=192560

 

Szukam id of item 

mam takie coś:
loop-value zwraca mi typ przedmiotu np birch log
natomiast chciałbym tworzyć listę tymczasową która zawiera id tych przdmiotów
jest mi to potrzebne do posortowania wyświtlania itemów w gui w zależności od ich id
tylko za żadne skarby świata nie moge wyłuskać id z tego nie działa
próbowalem wywołać "id of loop-value" a następnie
broadcast "%id of loop-value%" ale nawet
broadcast "%id of stone%" nie działa choć teoretycznie powino więc i "id of loop-value" nie zadziała 

wie ktoś jak wyłuskać id przedmiotu z jego nazwy/typu?

 

@edit :

W zgłaszanych błędach na github Skript znalazłem taki wpis:

Item IDs were removed in Minecraft 1.13.

Lecz jestem świecie przekonany że używałem id przedmiotów do ich przyzywania po wersji 1.13

 

 

 

Skoro id nie istnieją już to czy jest szansa aby posortować przedmioty w porządku takim jak są w inv na gm1?

@edit2:

Jako że uparta ze mnie bestia to wymyśliłem coś takiego:
 

    set {_index} to 0

    loop all items:
        add 1 to {_index}
        set {_idlist::%loop-value%} to {_index}
...
    set {_sortlist::%loop-value%.%loop-index%} to {_idlist::%loop-value%}
...

i w ten sposób otrzymuje "ID" przedmiotów których id nie istnieje ... nie jest to idealne ponieważ stare id mogło wylądać np tak 1:1, 1:2, 2, 3, 3:1 teraz wygląda tak" 1, 2, 3, 4, 5, 6, 7" ale jest to jakiś sposób na segregacje itemów i nadanie im nowych id może komuś się przyda


TEMAT DO ZAMKNIĘCIA CHYBA ŻE GENIUSZE SKRIPTA MAJĄ JAKIŚ LEPSZY SPOSÓB

 

Kormic

Poprawiam kod na życzenie autora ze względu na brak możliwości edycji przez zamknięcie tematu.

Notatka dodana przez Kormic

Odnośnik do komentarza
https://skript.pl/temat/57931-id-of-item/
Udostępnij na innych stronach

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
2 godziny temu, Saanjuk napisał:

wie ktoś jak wyłuskać id przedmiotu z jego nazwy/typu?

id przedmiotu to teraz po prostu jego nazwa, np. stone, oak_wood itp.

2 godziny temu, Saanjuk napisał:

Lecz jestem świecie przekonany że używałem id przedmiotów do ich przyzywania po wersji 1.13

skript może na początku dopuszczał jeszcze id numeryczne, ale pamiętam, że gdy ta zmiana nadeszła to dużo skryptów sypało błędami

2 godziny temu, Saanjuk napisał:

GENIUSZE SKRIPTA MAJĄ JAKIŚ LEPSZY SPOSÓB

nie do końca rozumiem, po co Ci to ID

Odnośnik do komentarza
https://skript.pl/temat/57931-id-of-item/#findComment-344173
Udostępnij na innych stronach

  • 0
3 godziny temu, Saanjuk napisał:

Szukam id of item 

mam takie coś:
loop-value zwraca mi typ przedmiotu np birch log
natomiast chciałbym tworzyć listę tymczasową która zawiera id tych przdmiotów
jest mi to potrzebne do posortowania wyświtlania itemów w gui w zależności od ich id
tylko za żadne skarby świata nie moge wyłuskać id z tego nie działa
próbowalem wywołać "id of loop-value" a następnie
broadcast "%id of loop-value%" ale nawet
broadcast "%id of stone%" nie działa choć teoretycznie powino więc i "id of loop-value" nie zadziała 

wie ktoś jak wyłuskać id przedmiotu z jego nazwy/typu?

Przetestowałem kod Knugiego na serwerze Spigot 1.12.2 ze Skriptem 2.6.4, czyli najnowszym dostępnym dla wersji 1.12.2.

command /test [<text>]:
	trigger:
		set {_x} to "stone" parsed as item
		send "%id of {_x}%"

Powyższy kod powoduje wyświetlenie liczby '1' na czacie. Co więcej, wyrażenie 'damage value of %item%' również poprawnie działa, co sprawdziłem za pomocą poniższego kodu.

command /test [<text>]:
	trigger:
		set {_x} to "andesite" parsed as item
		send "%id of {_x}%:%damage value of {_x}%"

Na czacie wyświetla się wiadomość '1:5'.

Zaznaczam, że używanie aliasów takich jak 'stone' i 'andesite' niczym nie różni się w działaniu od parse'owania ich jako przedmiot.

3 godziny temu, Saanjuk napisał:

W zgłaszanych błędach na github Skript znalazłem taki wpis:

Item IDs were removed in Minecraft 1.13.

Lecz jestem świecie przekonany że używałem id przedmiotów do ich przyzywania po wersji 1.13

Będąc ścisłym, w wersji 1.13 numeryczne ID zostały usunięte i zostały całkowicie zastąpione ich "słownymi" odpowiednikami. Cały ten proces został nazwany "The Flattening", o czym można przeczytać tutaj. Niemożliwym jest więc, aby na wersji nowszej niż 1.12 zadziałały ci numeryczne ID. W ramach weryfikacji wystarczy wejść na dowolną wersję 1.12 i 1.13.

W ramach ciekawostki dodam, że wbudowana komenda '/give' przestała wspierać numeryczne ID już w wersji 1.8.

3 godziny temu, Saanjuk napisał:

Skoro id nie istnieją już to czy jest szansa aby posortować przedmioty w porządku takim jak są w inv na gm1?

Raczej nie, a przynajmniej nie słyszałem o czymś takim. Jeżeli nie jesteś w stanie użyć numerycznych ID, najprawdopodobniej będziesz musiał stworzyć własną tabelę lub listę z ID przedmiotów, aby móc je posortować w ten sam sposób.

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57931-id-of-item/#findComment-344176
Udostępnij na innych stronach

  • 0
Godzinę temu, CoFFeIN04 napisał:

id przedmiotu to teraz po prostu jego nazwa, np. stone, oak_wood itp.

chodzi o NUMERYCZNE ID
 

 

Godzinę temu, CoFFeIN04 napisał:

nie do końca rozumiem, po co Ci to ID

tak jak pisałem aby uporządkować itemy w kolejności ...

żeby posortować listę musisz mieć porównywalne wartości w niej nie posortujesz listy słów chyba że alfabetycznie ale wtedy będzie jeszcze wiekszy nieład w gui niż na nieposortowanej liście


 

 

37 minut temu, Kormic napisał:

Raczej nie, a przynajmniej nie słyszałem o czymś takim. Jeżeli nie jesteś w stanie użyć numerycznych ID, najprawdopodobniej będziesz musiał stworzyć własną tabelę lub listę z ID przedmiotów, aby móc je posortować w ten sam sposób.

Pozdrawiam.

Tak jak napisałem w @edit2 już sobie z tym poradziłem loopując wszystkie item types i przypisując im moje własne numerki

Odnośnik do komentarza
https://skript.pl/temat/57931-id-of-item/#findComment-344177
Udostępnij na innych stronach

  • 0
5 minut temu, Saanjuk napisał:

chodzi o NUMERYCZNE ID

tylko że nie istnieje takowe

5 minut temu, Saanjuk napisał:

żeby posortować listę musisz mieć porównywalne wartości w niej nie posortujesz listy słów chyba że alfabetycznie ale wtedy będzie jeszcze wiekszy nieład w gui niż na nieposortowanej liście

a mógłbyś pokazać mi przykład zastosowania takiej posortowanej listy? Bo wciąż nie do końca rozumiem, w jakim celu można to użyć i po co sortować te itemy.

Odnośnik do komentarza
https://skript.pl/temat/57931-id-of-item/#findComment-344178
Udostępnij na innych stronach

  • 0
22 minuty temu, CoFFeIN04 napisał:

a mógłbyś pokazać mi przykład zastosowania takiej posortowanej listy? Bo wciąż nie do końca rozumiem, w jakim celu można to użyć i po co sortować te itemy.

żeby gui wyglądało tak:
https://ibb.co/vX6BM88
a nie tak:
https://ibb.co/BL09ntf
niezależnie od kolejności w jakiej itemy były wrowadzone do gui komendą 

Odnośnik do komentarza
https://skript.pl/temat/57931-id-of-item/#findComment-344179
Udostępnij na innych stronach

  • 0

Nie wiem, czy nie lepsze będzie zdefiniowanie własnej zmiennej z kolejnością właściwą, bo loopowanie wszystkich itemów i wykonywanie operacji w tej pętli przy każdym otwieraniu GUI / dodawaniu itemu może być kosztowne. 

Odnośnik do komentarza
https://skript.pl/temat/57931-id-of-item/#findComment-344231
Udostępnij na innych stronach

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