Skocz do zawartości
  • 0

Jak napisac w pluginie


rudyxd

Pytanie

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
public class tut implements Listener {
	
	public boolean zmienna = false;
	public boolean zmieniacWartoscZmiennej = true;
	
	@EventHandler(priority=EventPriority.HIGHEST)
	public void onEntityDamageEvent(EntityDamageByEntityEvent e) {
		if(e.isCancelled()) return;
		if(e.getEntity() != null) {
			if((e.getDamager() != null ) && (e.getDamager() instanceof Player)) {
				if(zmienna == true) {
					System.out.println("Zmienna ma wartosc true");
					if(zmieniacWartoscZmiennej == true) {
						zmienna = false;
						System.out.println("Zmienna ma wartosc nowa wartosc! false");
					}
				} else if(zmienna == false) {
					System.out.println("Zmienna ma wartosc false");
					if(zmieniacWartoscZmiennej == true) {
						zmienna = false;
						System.out.println("Zmienna ma wartosc nowa wartosc! true");
					}
				}
			}
		}
	}

}

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
3 minuty temu, Inder00 napisał:

public class tut implements Listener {
	
	public boolean zmienna = false;
	public boolean zmieniacWartoscZmiennej = true;
	
	@EventHandler(priority=EventPriority.HIGHEST)
	public void onEntityDamageEvent(EntityDamageByEntityEvent e) {
		if(e.isCancelled()) return;
		if(e.getEntity() != null) {
			if((e.getDamager() != null ) && (e.getDamager() instanceof Player)) {
				if(zmienna == true) {
					System.out.println("Zmienna ma wartosc true");
					if(zmieniacWartoscZmiennej == true) {
						zmienna = false;
						System.out.println("Zmienna ma wartosc nowa wartosc! false");
					}
				} else if(zmienna == false) {
					System.out.println("Zmienna ma wartosc false");
					if(zmieniacWartoscZmiennej == true) {
						zmienna = false;
						System.out.println("Zmienna ma wartosc nowa wartosc! true");
					}
				}
			}
		}
	}

}

 

Dasz rade napisac kazdy punkt oddzielnie?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
3 minuty temu, trivek napisał:

Dasz rade napisac kazdy punkt oddzielnie?

public class tut implements Listener {
	
	public boolean zmienna = false;
	public boolean zmieniacWartoscZmiennej = true;
	
	//Całość
	@EventHandler(priority=EventPriority.HIGHEST)
	public void onEntityDamageEvent1(EntityDamageByEntityEvent e) {
		if(e.isCancelled()) return;
		if(e.getEntity() != null) {
			if((e.getDamager() != null ) && (e.getDamager() instanceof Player)) {
				if(zmienna == true) {
					System.out.println("Zmienna ma wartosc true");
					if(zmieniacWartoscZmiennej == true) {
						zmienna = false;
						System.out.println("Zmienna ma wartosc nowa wartosc! false");
					}
				} else if(zmienna == false) {
					System.out.println("Zmienna ma wartosc false");
					if(zmieniacWartoscZmiennej == true) {
						zmienna = false;
						System.out.println("Zmienna ma wartosc nowa wartosc! true");
					}
				}
			}
		}
	}
	
	//Czy attacker jest graczem
	@EventHandler(priority=EventPriority.HIGHEST)
	public void onEntityDamageEvent2(EntityDamageByEntityEvent e) {
		if(e.isCancelled()) return;
		if(e.getEntity() != null) {
			if((e.getDamager() != null ) && (e.getDamager() instanceof Player)) {
				System.out.println("Atakujacy jest graczem");
			}
		}
	}
	
	//Czy zmienna jest rowna true
	public void zmiennaJestRownaTrue() {
		if(zmienna == true) {
			System.out.println("Zmienna jest rowna true");
		} else {
			System.out.println("Zmienna jest rowna false");
		}
	}
	//Zmiana wartosci zmiennej na true
	public void ustawZmiennaJakoTrue() {
		if(zmienna == false) zmienna = true;
	}
	
}

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
5 godzin temu, Inder00 napisał:

public class tut implements Listener {
	
	public boolean zmienna = false;
	public boolean zmieniacWartoscZmiennej = true;
	
	//Całość
	@EventHandler(priority=EventPriority.HIGHEST)
	public void onEntityDamageEvent1(EntityDamageByEntityEvent e) {
		if(e.isCancelled()) return;
		if(e.getEntity() != null) {
			if((e.getDamager() != null ) && (e.getDamager() instanceof Player)) {
				if(zmienna == true) {
					System.out.println("Zmienna ma wartosc true");
					if(zmieniacWartoscZmiennej == true) {
						zmienna = false;
						System.out.println("Zmienna ma wartosc nowa wartosc! false");
					}
				} else if(zmienna == false) {
					System.out.println("Zmienna ma wartosc false");
					if(zmieniacWartoscZmiennej == true) {
						zmienna = false;
						System.out.println("Zmienna ma wartosc nowa wartosc! true");
					}
				}
			}
		}
	}
	
	//Czy attacker jest graczem
	@EventHandler(priority=EventPriority.HIGHEST)
	public void onEntityDamageEvent2(EntityDamageByEntityEvent e) {
		if(e.isCancelled()) return;
		if(e.getEntity() != null) {
			if((e.getDamager() != null ) && (e.getDamager() instanceof Player)) {
				System.out.println("Atakujacy jest graczem");
			}
		}
	}
	
	//Czy zmienna jest rowna true
	public void zmiennaJestRownaTrue() {
		if(zmienna == true) {
			System.out.println("Zmienna jest rowna true");
		} else {
			System.out.println("Zmienna jest rowna false");
		}
	}
	//Zmiana wartosci zmiennej na true
	public void ustawZmiennaJakoTrue() {
		if(zmienna == false) zmienna = true;
	}
	
}

 

Jak niby w EntityDamageByEntityEvent entity lub damager moze byc nullem? Po co dajesz eventpriority na hightest? I czemu robisz dwa takie same listnery? 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Dnia 17.09.2017 o 09:43, Inder00 napisał:

public class tut implements Listener {
	
	public boolean zmienna = false;
	public boolean zmieniacWartoscZmiennej = true;
	
	//Całość
	@EventHandler(priority=EventPriority.HIGHEST)
	public void onEntityDamageEvent1(EntityDamageByEntityEvent e) {
		if(e.isCancelled()) return;
		if(e.getEntity() != null) {
			if((e.getDamager() != null ) && (e.getDamager() instanceof Player)) {
				if(zmienna == true) {
					System.out.println("Zmienna ma wartosc true");
					if(zmieniacWartoscZmiennej == true) {
						zmienna = false;
						System.out.println("Zmienna ma wartosc nowa wartosc! false");
					}
				} else if(zmienna == false) {
					System.out.println("Zmienna ma wartosc false");
					if(zmieniacWartoscZmiennej == true) {
						zmienna = false;
						System.out.println("Zmienna ma wartosc nowa wartosc! true");
					}
				}
			}
		}
	}
	
	//Czy attacker jest graczem
	@EventHandler(priority=EventPriority.HIGHEST)
	public void onEntityDamageEvent2(EntityDamageByEntityEvent e) {
		if(e.isCancelled()) return;
		if(e.getEntity() != null) {
			if((e.getDamager() != null ) && (e.getDamager() instanceof Player)) {
				System.out.println("Atakujacy jest graczem");
			}
		}
	}
	
	//Czy zmienna jest rowna true
	public void zmiennaJestRownaTrue() {
		if(zmienna == true) {
			System.out.println("Zmienna jest rowna true");
		} else {
			System.out.println("Zmienna jest rowna false");
		}
	}
	//Zmiana wartosci zmiennej na true
	public void ustawZmiennaJakoTrue() {
		if(zmienna == false) zmienna = true;
	}
	
}

 

ten kod to porazka, ehh, pelno zbednego kodu, nie nazywamy klas z duzej litery, niepotrzebne obliczenia

 

Wiec tak:

- robisz sobie zmienną:

private boolean zmienna = true; //zmienna wynosi true

event:

@EventHandler
public void onDamage(EntityDamageByEntityEvent e){
	if (e.getDamager().getType() == EntityType.PLAYER){
		//do something
		if (zmienna == true){
			//robisz cos jak zmienna wynosi true
		}
		else{
			//robisz cos jak zmienna nie wynosi true
		}
	}
}

mam nadzieję ,że trochę pomogłem, jak czegoś jeszcze nie kumasz to pisz śmiało.

 

zmienną ustawiasz tak:

this.zmienna = false; //zmienna teraz wynosi false.

 

Edytowane przez yooniks
Odnośnik do komentarza
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ę...