Skocz do zawartości
  • 0

Crafting


Krzysiekkk
 Udostępnij

Pytanie

Cześć czy da radę zrobic aby np, trzeba dać 16 sztuk każdego z itemów aby dało nam ten przedmiot 

on script load:
        register new shaped recipe for TnT named &c&lXXXXX" using gold_block, gold_block, gold_block, gold_block, netherite_ingot, diamond_block, diamond_block, diamond_block, diamond_block

 

Edytowane przez xNightPower_
Nieaktywny

Umieszczam kod w code.

Odnośnik do komentarza
Udostępnij na innych stronach

15 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Teraz, Krzysiekkk napisał:

Cześć czy da radę zrobic aby np, trzeba dać 16 sztuk każdego z itemów aby dało nam ten przedmiot 

on script load:
        register new shaped recipe for TnT named &c&lXXXXX" using gold_block, gold_block, gold_block, gold_block, netherite_ingot, diamond_block, diamond_block, diamond_block, diamond_block

 

1. Nie powinieneś używać podłóg w nazwach przedmiotów.

2. Czy próbowałeś dodać przed każdym itemem ilość (np. 16 gold block)?

3. Jeżeli odpowiedź na punkt drugi brzmi twierdząco to będziesz musiał sprawdzać każdy slot (tutaj przyda się odrobina Javy).

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
4 minuty temu, Kormic napisał:

1. Nie powinieneś używać podłóg w nazwach przedmiotów.

2. Czy próbowałeś dodać przed każdym itemem ilość (np. 16 gold block)?

3. Jeżeli odpowiedź na punkt drugi brzmi twierdząco to będziesz musiał sprawdzać każdy slot (tutaj przyda się odrobina Javy).

Nie działa
 3SfvcXv.png

Edytowane przez xNightPower_
Nieaktywny

Zamieniam link w obraz.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, Krzysiekkk napisał:

Nie działa
 Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Jeżeli '16 of tnt' również nie zadziałało, przejdźmy do punktu nr 3.

Tutaj wątek ze zleceniem, w którym sprawdzałem każdy slot.

W twoim przypadku najlepiej byłoby ustawić do listy lokalnej matrixa craftingu.

set {_lista::*} to event.getInventory().getMatrix()
if {_lista::1} is 16 gold block
if {_lista::2} is 16 tnt
# I tak dalej...

Na koniec ustawiamy nasz result slot.

set {_} to tnt named "cos"
event.getInventory().setResult({_})

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
42 minuty temu, Kormic napisał:

Jeżeli '16 of tnt' również nie zadziałało, przejdźmy do punktu nr 3.

Tutaj wątek ze zleceniem, w którym sprawdzałem każdy slot.

W twoim przypadku najlepiej byłoby ustawić do listy lokalnej matrixa craftingu.


set {_lista::*} to event.getInventory().getMatrix()
if {_lista::1} is 16 gold block
if {_lista::2} is 16 tnt
# I tak dalej...

Na koniec ustawiamy nasz result slot.


set {_} to tnt named "cos"
event.getInventory().setResult({_})

 

Tak zrobiłem ale nie działa on script load:

on script load:
        set {_lista::*} to event.getInventory().getMatrix()
        if {_lista::1} is 16 tnt
        if {_lista::2} is 16 tnt
        if {_lista::3} is 16 tnt
        if {_lista::4} is 16 tnt
        if {_lista::5} is 16 tnt
        if {_lista::6} is 16 tnt
        if {_lista::7} is 16 tnt
        if {_lista::8} is 16 tnt
        if {_lista::9} is 16 tnt
        set {_} to tnt named "cos"
        event.getInventory().setResult({_})
        


    
    

Edytowane przez xNightPower_
Nieaktywny

Umieszczaj kod w code.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
33 minuty temu, Krzysiekkk napisał:

Tak zrobiłem ale nie działa on script load:

on script load:
        set {_lista::*} to event.getInventory().getMatrix()
        if {_lista::1} is 16 tnt
        if {_lista::2} is 16 tnt
        if {_lista::3} is 16 tnt
        if {_lista::4} is 16 tnt
        if {_lista::5} is 16 tnt
        if {_lista::6} is 16 tnt
        if {_lista::7} is 16 tnt
        if {_lista::8} is 16 tnt
        if {_lista::9} is 16 tnt
        set {_} to tnt named "cos"
        event.getInventory().setResult({_})
        
    


    

Zobacz sobie w tamtym wątku jak to zrobiłem. Użyłem importowanego eventu. Przeczytaj również tam co jest wymagane.

Edytowane przez xNightPower_
Nieaktywny

Naprawiam cytat.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
26 minut temu, Krzysiekkk napisał:

named &c&lXXXXX"

zapomniałeś cudzysłowu przed nazwą

Po 2 tak jak wyżej było już wspomniane użyj nazw ze spacjami, nie podłogami. Dodatkowo dodaj of po ilości

Edytowane przez CoFFeIN04
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, CoFFeIN04 napisał:

zapomniałeś cudzysłowu przed nazwą

Po 2 tak jak wyżej było już wspomniane użyj nazw ze spacjami, nie podłogami. Dodatkowo dodaj of po ilości

Spoko wiem akurat po prostu to był szybki przykład podany a w pliku tych błędów nie ma

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 minuty temu, Krzysiekkk napisał:

Spoko wiem akurat po prostu to był szybki przykład podany a w pliku tych błędów nie ma

Już wiesz jak to zrobić czy muszę coś jeszcze wytłumaczyć?

Jeżeli nie wiesz, podpowiem. Skopiuj sobie sekcję 'import' i użyj tego eventu PrepareItemCraftEvent. Następnie zastosuj się do moich zaleceń.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
48 minut temu, Kormic napisał:

Już wiesz jak to zrobić czy muszę coś jeszcze wytłumaczyć?

Jeżeli nie wiesz, podpowiem. Skopiuj sobie sekcję 'import' i użyj tego eventu PrepareItemCraftEvent. Następnie zastosuj się do moich zaleceń.

Zrobiłem takie coś ale nie działa

import:
    org.bukkit.event.inventory.PrepareItemCraftEvent
    org.bukkit.inventory.ItemStack
    org.bukkit.Material

on PrepareItemCraftEvent:
    event.getRecipe().getResult() is any tnt
    set {_} to "%event.getInventory().getMatrix()%"
    {_} contains "tnt"
    {_} doesn't contain "diamond block"
    event.getInventory().setResult(new ItemStack(Material.AIR, 1))
    
on load:
    register new shaped recipe for tnt using 16 of tnt, 16 of tnt, 16 of tnt, 16 of tnt, 16 of tnt, 16 of tnt, 16 of tnt, 16 of tnt, 16 of tnt

 

Edytowane przez xNightPower_
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, Krzysiekkk napisał:

Zrobiłem takie coś ale nie działa

Wyrzuć to z teksu i matrixa ustaw do listy tak jak ci to pokazałem wyżej. Powiedziałem żebyś zmienił to do swoich potrzeb a nie kopiował 1:1. Przeczytaj jeszcze raz to, co napisałem wyżej.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
14 minut temu, Kormic napisał:

Wyrzuć to z teksu i matrixa ustaw do listy tak jak ci to pokazałem wyżej. Powiedziałem żebyś zmienił to do swoich potrzeb a nie kopiował 1:1. Przeczytaj jeszcze raz to, co napisałem wyżej.

import:
    org.bukkit.event.inventory.PrepareItemCraftEvent
    org.bukkit.inventory.ItemStack
    org.bukkit.Material

on PrepareItemCraftEvent:
    event.getRecipe().getResult() is any tnt
    set {_} to "%event.getInventory().getMatrix()%"
    {_} contains "tnt"
    {_} doesn't contain "diamond block"
    event.getInventory().setResult(new ItemStack(Material.AIR, 1))
    
on script load:
    set {_lista::*} to event.getInventory().getMatrix()
    if {_lista::1} is 16 tnt
    if {_lista::2} is 16 tnt
    if {_lista::3} is 16 tnt
    if {_lista::4} is 16 tnt
    if {_lista::5} is 16 tnt
    if {_lista::6} is 16 tnt
    if {_lista::7} is 16 tnt
    if {_lista::8} is 16 tnt
    if {_lista::9} is 16 tnt
    set {_} to tnt named "cos"
    event.getInventory().setResult({_})

 

tak?

Edytowane przez xNightPower_
Nieaktywny

Umieszczam kod w code.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, Krzysiekkk napisał:

tak?

Nie.

Ustawianie matrixa do listy i sprawdzanie slotów masz dodać w PrepareItemCraftEvent i pozbyć się w tym event'cie linijek od 2 do 5. Event 'on script load' nie powinien się tam znaleźć.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
3 minuty temu, Kormic napisał:

Nie.

Ustawianie matrixa do listy i sprawdzanie slotów masz dodać w PrepareItemCraftEvent i pozbyć się w tym event'cie linijek od 2 do 5. Event 'on script load' nie powinien się tam znaleźć.

A mógłbyś to napisać bo nie ogarniam troche :(

 

Odnośnik do komentarza
Udostępnij na innych stronach

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
Odpowiedz na pytanie...

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

 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

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