Skocz do zawartości
  • 0

OnConsume - pomóż ktoś xD


Killerek01
 Udostępnij

Pytanie

Witam, jest początkowym pisarzem pluginów i mam problem.

Oto kod

Spoiler

import org.bukkit.Material;

import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerItemConsumeEvent;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;

public class OnEat 
implements Listener {

 public void onConsume(PlayerItemConsumeEvent e) {
   if (e.getItem().getType().equals(Material.GOLDEN_APPLE));
     e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 2000, 1));
     e.getPlayer().sendMessage("Zjedzono coksa <3");
  }
 }
 

UWAGA! Zainportowałem itp ;)

Odnośnik do komentarza
Udostępnij na innych stronach

11 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
package me.krejzolekpro.antytnt;

import org.bukkit.Material;
import org.bukkit.event.player.PlayerItemConsumeEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;

public class Main extends JavaPlugin {

 public void onConsume(PlayerItemConsumeEvent e) {
   if (e.getItem().getType().equals(Material.GOLDEN_APPLE));
     e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 2000, 1));
     e.getPlayer().sendMessage("Nie polizales!");
  }
 }

Proszę.

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

  • 0

@KrejzolekPRO kod gorszy od oryginału - błąd nadal istnieje, a dodatkowo Listener nie został zarejestrowany.

Co do tematu - zamień:

if (e.getItem().getType().equals(Material.GOLDEN_APPLE));
  	e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 2000, 1));
  	e.getPlayer().sendMessage("Zjedzono coksa <3");
}

na

if (e.getItem().getType().equals(Material.GOLDEN_APPLE)) {
	e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 2000, 1));
	e.getPlayer().sendMessage("Zjedzono coksa <3");
}

I następnym razem wypadałoby podać kod oraz opis błędu zamiast samego kodu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Nie możesz zapomnieć o dodaniu adnotacji Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! do metody naszego słuchacza (listenera). Dzięki temu Bukkit będzie wiedział, że przy poszukiwaniu słuchaczy w klasie weźmie pod uwagę właśnie tą metodę.

Dodatkowo Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! jest złotym jabłkiem regenerującym zdrowie. Złote jabłko blokujący zadawanie nam uderzeń (damage) ma sub-ID 1. To oznacza, że musisz dodatkowo się upewnić, że sprawdzany przedmiot w ifie ma sub-ID 1.

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Dnia 8.03.2017 o 20:53, Libter napisał:

@KrejzolekPRO kod gorszy od oryginału - błąd nadal istnieje, a dodatkowo Listener nie został zarejestrowany.

Co do tematu - zamień:


if (e.getItem().getType().equals(Material.GOLDEN_APPLE));
  	e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 2000, 1));
  	e.getPlayer().sendMessage("Zjedzono coksa <3");
}

na


if (e.getItem().getType().equals(Material.GOLDEN_APPLE)) {
	e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 2000, 1));
	e.getPlayer().sendMessage("Zjedzono coksa <3");
}

I następnym razem wypadałoby podać kod oraz opis błędu zamiast samego kodu.

Błędu w consoli nie było ;-) A podałem jedną klase bo to jedna z mojego ala cora.

 

Dnia 10.03.2017 o 01:30, TheMolkaPL napisał:

Nie możesz zapomnieć o dodaniu adnotacji Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! do metody naszego słuchacza (listenera). Dzięki temu Bukkit będzie wiedział, że przy poszukiwaniu słuchaczy w klasie weźmie pod uwagę właśnie tą metodę.

Dodatkowo Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! jest złotym jabłkiem regenerującym zdrowie. Złote jabłko blokujący zadawanie nam uderzeń (damage) ma sub-ID 1. To oznacza, że musisz dodatkowo się upewnić, że sprawdzany przedmiot w ifie ma sub-ID 1.

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Pomógłbyś mi? z tym sprawdzaniem?

masz tu cała klase:

Spoiler

package pl.killerek.xfosahc.core.listeners;

import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerItemConsumeEvent;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;

public class OnEat 
implements Listener {

@EventHandler
 public void onConsume(PlayerItemConsumeEvent e) {
     if (e.getItem().getType().equals(Material.GOLDEN_APPLE)) {
             e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 2000, 1));
             e.getPlayer().sendMessage("Zjedzono coksa <3");
       }
    }
}

@Topic I po zjedzeniu nadal nie dodaje mi efektu. 

Łączę //xVendrome

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
21 godzin temu, CriSSuFM napisał:

A zarejestrowałeś tego swojego listenera? XD

Nie w ogóle xDDD

 

Dnia 8.03.2017 o 20:53, Libter napisał:

@KrejzolekPRO kod gorszy od oryginału - błąd nadal istnieje, a dodatkowo Listener nie został zarejestrowany.

Co do tematu - zamień:


if (e.getItem().getType().equals(Material.GOLDEN_APPLE));
  	e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 2000, 1));
  	e.getPlayer().sendMessage("Zjedzono coksa <3");
}

na


if (e.getItem().getType().equals(Material.GOLDEN_APPLE)) {
	e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 2000, 1));
	e.getPlayer().sendMessage("Zjedzono coksa <3");
}

I następnym razem wypadałoby podać kod oraz opis błędu zamiast samego kodu.

A czy mógłbyś mi pomóc jak zrobić że jak zje koxa?

Bo jak zje refila to też doda efekt speed. Proszę o odpowiedz.

 

Łączę //xVendrome

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 godziny temu, Killerek01 napisał:

Nie w ogóle xDDD

 

A czy mógłbyś mi pomóc jak zrobić że jak zje koxa?

Bo jak zje refila to też doda efekt speed. Proszę o odpowiedz.

 

Łączę //xVendrome

Sub-ID przedmiotów zapisywane jest jako durability (zniszczenie) - głupota Notcha. Musisz pobrać durability sprawdzanego przedmiotu i upewnić się, że jest one równe 1.

 

Mam nadzieję, że pomogłem Towarzyszu :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
13 godzin temu, TheMolkaPL napisał:

Sub-ID przedmiotów zapisywane jest jako durability (zniszczenie) - głupota Notcha. Musisz pobrać durability sprawdzanego przedmiotu i upewnić się, że jest one równe 1.

 

Mam nadzieję, że pomogłem Towarzyszu :)

aa Dzięki <3

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

@TheMolkaPL

import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerItemConsumeEvent;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;

public class OnEatListener 
implements Listener {

@EventHandler
 public void onConsume(PlayerItemConsumeEvent e) {
     if (e.getItem().getType().equals(Material.GOLDEN_APPLE)) 
         if (e.getItem().getType() == Material.GOLDEN_APPLE && e.getItem().getDurability() == 0) {
             e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 200, 1));
             e.getPlayer().sendMessage("Zjedzono coksa <3");
       }
    }
}
 

Coś takiego?

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