Skocz do zawartości
  • 0

Interakcja z blokami


sworip
 Udostępnij

Pytanie

Witam, przychodzę tu z zapytaniem a jednocześnie prośbą. Czy da się zrobić tak by postawieniu np. Cobble o nazwie KAMIEN a na nim bloku piachu o nazwie PIACH (Chodzi mi o to że te nazwy muszą się zgadzać i ich położenie czyli blok piachu nad cobblem) to by zachodziła interakcja jeżeli gracz kliknie na piach prawym przyciskiem używając patyka? Jeżeli ktoś pomoże mi to napisać to dam naj i + Z góry dziękuje ^^

 

Proces o jaki mi chodzi:

1. Stawianie cobble z nazwą

2. Stawianie piachu o danej nazwie na cobble który też miał nazwę

3. Kliknięcie prawym przyciskiem z użyciem patyka na piach 

 

Nazwy muszą się zgadzać bo inaczej będzie to dla mnie bezużyteczne. Może też być jakiś dodatek, wersja mc 1.16.5

Mam nadzieję że jest to zrozumiałe jeżeli nie to postaram się to opisać dokładniej 😅

Odnośnik do komentarza
Udostępnij na innych stronach

10 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
1 minutę temu, sworip napisał:

Witam, przychodzę tu z zapytaniem a jednocześnie prośbą. Czy da się zrobić tak by postawieniu np. Cobble o nazwie KAMIEN a na nim bloku piachu o nazwie PIACH (Chodzi mi o to że te nazwy muszą się zgadzać i ich położenie czyli blok piachu nad cobblem) to by zachodziła interakcja jeżeli gracz kliknie na piach prawym przyciskiem używając patyka? Jeżeli ktoś pomoże mi to napisać to dam naj i + Z góry dziękuje ^^

 

Proces o jaki mi chodzi:

1. Stawianie cobble z nazwą

2. Stawianie piachu o danej nazwie na cobble który też miał nazwę

3. Kliknięcie prawym przyciskiem z użyciem patyka na piach 

 

Nazwy muszą się zgadzać bo inaczej będzie to dla mnie bezużyteczne. Może też być jakiś dodatek, wersja mc 1.16.5

Mam nadzieję że jest to zrozumiałe jeżeli nie to postaram się to opisać dokładniej 😅

Ponieważ bloki nie posiadają nazw, przy stawianiu bloku należy sprawdzić narzędzie gracza. Przy stawianiu bruku o nazwie "KAMIEN" sprawdzamy narzędzie gracza czy jest tym naszym brukiem. Jeżeli tak, wiesz że to jest ten bruk i dodajesz lokalizację 'event-block' do listy. Przy klikaniu tym patykiem na piasek sprawdzamy czy wcześniej wspomniana lista zawiera lokalizację bloku pod 'clicked block'. Jeżeli zawiera, wykonujemy sobie kod jaki tam chcemy.

Oczywiście nie należy zapominać o usuwaniu lokalizacji tego cobble'a z listy przy jego niszczeniu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 minuty temu, Kormic napisał:

Ponieważ bloki nie posiadają nazw, przy stawianiu bloku należy sprawdzić narzędzie gracza. Przy stawianiu bruku o nazwie "KAMIEN" sprawdzamy narzędzie gracza czy jest tym naszym brukiem. Jeżeli tak, wiesz że to jest ten bruk i dodajesz lokalizację 'event-block' do listy. Przy klikaniu tym patykiem na piasek sprawdzamy czy wcześniej wspomniana lista zawiera lokalizację bloku pod 'clicked block'. Jeżeli zawiera, wykonujemy sobie kod jaki tam chcemy.

Oczywiście nie należy zapominać o usuwaniu lokalizacji tego cobble'a z listy przy jego niszczeniu.

A mógłbyś to napisać nawet byle jak byle działało? Bo tyle już nic nie pisałem że połowy nawet podstawowych rzeczy nie pamiętam i sam sobie z tym nie poradzę. Byłbym bardzo wdzięczny.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
3 minuty temu, sworip napisał:

A mógłbyś to napisać nawet byle jak byle działało? Bo tyle już nic nie pisałem że połowy nawet podstawowych rzeczy nie pamiętam i sam sobie z tym nie poradzę. Byłbym bardzo wdzięczny.

W takim razie uznaję to za zlecenie.

on place:
	player's tool is cobblestone named "KAMIEN"
	add location of event-block to {stoneList::*}
	
on right click on sand with stick:
	{stoneList::*} contains location of block under clicked block
	send "Interakcja" to player
	
on break of cobblestone:
	{stoneList::*} contains location of event-block
	remove location of event-block from {stoneList::*}

Trzeba by jeszcze zrobić przechwytywanie dla chociażby eksplozji, ale powinno wystarczyć.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
8 minut temu, Kormic napisał:

W takim razie uznaję to za zlecenie.

on place:
	player's tool is cobblestone named "KAMIEN"
	add location of event-block to {stoneList::*}
	
on right click on sand with stick:
	{stoneList::*} contains location of block under clicked block
	send "Interakcja" to player
	
on break of cobblestone:
	{stoneList::*} contains location of event-block
	remove location of event-block from {stoneList::*}

Trzeba by jeszcze zrobić przechwytywanie dla chociażby eksplozji, ale powinno wystarczyć.

Tak faktycznie masz rację, mój błąd.

Wszystko działa tylko jest jeden problem, interakcja zachodzi również z blokiem bez jakiejkolwiek nazwy. Zależy mi na tym by ta interakcja zachodziła z blokiem "specjalnym". Da się z tym coś zrobić? 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, sworip napisał:

Tak faktycznie masz rację, mój błąd.

Wszystko działa tylko jest jeden problem, interakcja zachodzi również z blokiem bez jakiejkolwiek nazwy. Zależy mi na tym by ta interakcja zachodziła z blokiem "specjalnym". Da się z tym coś zrobić?

Ale dodaje przecież lokalizację stawianego bloku z nazwą do listy, więc nie rozumiem twojego problemu.

Na co ty klikasz? Na piasek, tak?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, Kormic napisał:

Ale dodaje przecież lokalizację stawianego bloku z nazwą do listy, więc nie rozumiem twojego problemu.

Na co ty klikasz? Na piasek, tak?

Tak, tylko chciałem żeby to działało tylko na piasku z daną nazwą a to działa na każdy piasek nawet taki wykopany czy wzięty z gm i tu jest problem

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, sworip napisał:

Tak, tylko chciałem żeby to działało tylko na piasku z daną nazwą a to działa na każdy piasek nawet taki wykopany czy wzięty z gm i tu jest problem

To działa na piasek, który ma pod sobą bruk, który jest dodany do tej listy (czyli bruk, który miał nazwę "KAMIEN"). Jeżeli to przeszkadza, mogę to dodać.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, Kormic napisał:

To działa na piasek, który ma pod sobą bruk, który jest dodany do tej listy (czyli bruk, który miał nazwę "KAMIEN"). Jeżeli to przeszkadza, mogę to dodać.

Bruk i lista nie jest problemem bo to sobie sam mogę pozmieniać tylko chodzi mi o to że jeżeli postawie zwykły piach na tym bruku z nazwą to potem jak klikam na ten piach to działa a ja bym chciał żeby działało TYLKO na piach z daną nazwą.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1
5 minut temu, sworip napisał:

Bruk i lista nie jest problemem bo to sobie sam mogę pozmieniać tylko chodzi mi o to że jeżeli postawie zwykły piach na tym bruku z nazwą to potem jak klikam na ten piach to działa a ja bym chciał żeby działało TYLKO na piach z daną nazwą.

No to mogę to dodać, no problemo.

on place:
	if player's tool is cobblestone named "KAMIEN":
		add location of event-block to {stoneList::*}
	else if player's tool is sand named "PIACH":
		add location of event-block to {sandList::*}
	
on right click on sand with stick:
	{sandList::*} contains location of clicked block
	{stoneList::*} contains location of block under clicked block
	send "Interakcja" to player
	
on break:
	if event-block is cobblestone:
		{stoneList::*} contains location of event-block
		remove location of event-block from {stoneList::*}
	else if event-block is sand:
		{sandList::*} contains location of event-block
		remove location of event-block from {sandList::*}

 

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

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

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