Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem z PlayerInteractEvent


Gorgi123

Rekomendowane odpowiedzi

Opublikowano

Nie sprawdza czy nad kliknietym blokiem jest wodą

 

 

 

 

 

 

@EventHandler

public void onPlayerInteract1(PlayerInteractEvent e) {

if(e.getAction() == Action.RIGHT_CLICK_BLOCK) {

Block b = e.getClickedBlock().getRelative(BlockFace.UP);

Player p = e.getPlayer();

if(b.getType() == Material.GRASS);

b.setType(Material.AIR);

p.sendMessage("Woda");

 

}

}

 

}

Opublikowano

Wrzucaj ten swój kod na hastebina czy cosik bo copy paste prosto na forum średnio Ci wychodzi.

 

 

Nie dziwne, że nie sprawdza skoro masz tam coś takiego jak 

if(b.getType() == Material.GRASS);

Nie wiem dokładnie co chciałeś osiągnąć ale łap coś takiego

@EventHandler
public void OnInteract(PlayerInteractEvent event)
{
  if(event.getAction() == Action.RIGHT_CLICK_BLOCK){
    Block block = event.getClickedBlock();
    Player player = event.getPlayer();
    Location loc = new Location(block.getWorld(), block.getX(), block.getY() + 1.0D, block.getZ());
    if(loc.getBlock().getType() == Material.WATER){
      block.setType(Material.AIR);
      player.sendMessage("Woda");
    }
  }
}
Opublikowano

dzięki ładnie działa a teraz jak mogę pobrać lokacje 1 kratke dookoła tej wody? mam pisać każdą lokacje osobno czy jakoś to można skrócić 

Opublikowano


@EventHandler

public void OnInteract(PlayerInteractEvent event)

{

if(event.getAction() == Action.RIGHT_CLICK_BLOCK){

Block block = event.getClickedBlock();

Player player = event.getPlayer();

Location loc = new Location(block.getWorld(), block.getX(), block.getY() + 1.0D, block.getZ());

for (int x = -1; x < 1; x++) {

for (int y = -1; y < 1; y++) {

for (int z = -1; z < 1; z++) {

Block block1 = loc.getWorld().getBlockAt(loc.getBlockX()+x, loc.getBlockY()+y, loc.getBlockZ()+z);

if (block1.getType() == Material.WATER) {

block1.setType(Material.AIR);

player.sendMessage("Woda");

}

}

}

}

}

Opublikowano

@Nesz

 

Dawanie kodu, nigdy go nie nauczy pisania pluginow, a tylko jak plakac na forum o cokolwiek..

 

 

Chcesz mu zrobic "dobrze", ale robisz mu krzywde ...

Opublikowano

OtekPlay oglądałem wszystkie poradniki kamilkime zrozumiałem może 2 % . po jakimś czasie mówię sobie c**j sam się nauczę korzystałem z kodów z dobrze napisanych pluginów i teraz chociaż potrafię coś zrobić 

Opublikowano

Jeżeli nie rozumiesz kodu Kamilkime to już chyba niczego nie zrozumiesz xDd

Opublikowano

@Gorgi123

 

Widze jak potrafisz, przyszedles na forum z problemem ze porownujesz Ziemie a nie wode, wiec z tego co widze z angielskim tez ciezko, to moze skirpt bedzie idealnym rozwiazaniem,  a nie tam tez jest Angielski.

 

Uczenie sie od kamilkime to chyba jeszcze glupsze co mogles zrobic, ten czlowiek po tylu latach wciaz nie zna podstaw i robi bledy przez co wy "nowi" """"" programisci """"""

powtarzacie te bledy, nie gardze uczenia sie z przykladow, gardze przychodzeniem z byle gowna zamiast wpisac w google

Opublikowano

mam ci pokazać moją historię wyszukiwania ile czasu szukałem czy co bo nie rozumiem twojej spiny mi nie chodziło o to ,że zły blok mi sprawdzało czy coś tylko całkowicie mi go nie sprawdzało sam szukam metod a jeśli już mi coś nie wychodzi to szukam pomocy 

 

ps: a ty nie musisz komentować kogoś tematów skoro nie chcesz pomóc nie wiem czy to jakiś syndrom super programisty czy coś takiego ale go opanuj ziomeczku bo się na tym przejedziesz 

po to jest forum żeby przychodzić i szukać pomocy 

 

Jeżeli nie rozumiesz kodu Kamilkime to już chyba niczego nie zrozumiesz xDd

on ma kilka śmiesznych metod :P np pisze coś na 50 linijek a to można skrócić do 20 :P bardziej rozumiem kody ludzi z forum bukkita 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...