(PLUGIN) Burada ne hatam var ?

YgtGamingTR

Elmas Madencisi
En iyi cevaplar
0
arkadaşlar yapmak istediğim şey guclen permissionuna sahip bir oyuncu çubuğa tıkladığında 180 saniyelik güç 1 alacak fakat çubuğa sağ tıkladığımda bir şey olmuyor ve panelde hata çıkmıyor lütfen yardımcı olurmusunuz.
@Personinblack @karahan117 @SpringHat @MegaCrafter @Minecraftplayerr @McWeb
Kod:
package savasci.pack;

import org.bukkit.Material;
import org.bukkit.command.CommandExecutor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;

public class savasci extends JavaPlugin implements CommandExecutor {
    @EventHandler
    public void OnPlayerUse(PlayerInteractEvent Event){
        Player oyuncu = Event.getPlayer() ;
        if(oyuncu.hasPermission("guclen"))
        if(oyuncu.getItemInHand().getType() == Material.STICK)
        oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 180, 1));
        {
    
    
    
    
    
    
    
    
    
    
    
    
        }
    }

    
    
    }
 

YgtGamingTR

Elmas Madencisi
En iyi cevaplar
0
Listener olmasın?
ekledim olmadı
Kod:
package savasci.pack;

import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;

public class savasci extends JavaPlugin implements Listener{
    @EventHandler
    public void OnPlayerUse(PlayerInteractEvent Event){   
        Player oyuncu = Event.getPlayer() ;
        if(oyuncu.hasPermission("guclen"))
        if(oyuncu.getItemInHand().getType() == Material.STICK)
        
            oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 180, 1));
        
        
        
        
        
        
        
        
        
        
        
        
        }
    }
 

Personinblack

YASAKLANDI
En iyi cevaplar
0
Eğer ki tüm class buysa hatalar şunlar:
  • Hala class isimlendirmesini bilmiyorsun
  • Metod isimlendirmesinide bilmiyorsun
  • Event onEnable üzerinde kaydedilmemiş hatta onEnable diye bir metod yok
  • O şekilde if oluşturulmaz! Sonra kafanı kırarlar karışmam...
TL;DR: Hala Java bilmiyorsun ve hala plugin yazmaya çalışıyorsun.
 

Admicos

Nether Yerlisi
En iyi cevaplar
1
ekledim olmadı
Kod:
package savasci.pack;

import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;

public class savasci extends JavaPlugin implements Listener{
    @EventHandler
    public void OnPlayerUse(PlayerInteractEvent Event){  
        Player oyuncu = Event.getPlayer() ;
        if(oyuncu.hasPermission("guclen")) {
          if(oyuncu.getItemInHand().getType() == Material.STICK) {
              oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 180, 1));
          }
       }
    }
}

bir tane { unutmuşsun. ve şu gerekisz boşlukları da sildim.
 

Personinblack

YASAKLANDI
En iyi cevaplar
0
@Personinblack'in dediği gibi onEnable adında bir metot oluşturup bu metodun içinde Listener'ı kayıt etmen gerek.
Kod:
@Override
public void onEnable() {
    Bukkit.getPluginManager().registerEvents(this, this);
}
Öncesinde Java öğrenmesi gereken birisine bu bilgiyi vermen yanlış. Kaldı ki bu bilgiyi Spigot'ın wikisindeki ufak tutorial sayfasına bakarak da rahatlıkla edinebilir Java bilen birisi.
 

YgtGamingTR

Elmas Madencisi
En iyi cevaplar
0
Eğer ki tüm class buysa hatalar şunlar:
  • Hala class isimlendirmesini bilmiyorsun
  • Metod isimlendirmesinide bilmiyorsun
  • Event onEnable üzerinde kaydedilmemiş hatta onEnable diye bir metod yok
  • O şekilde if oluşturulmaz! Sonra kafanı kırarlar karışmam...
  • Listenerda im
TL;DR: Hala Java bilmiyorsun ve hala plugin yazmaya çalışıyorsun.
on enableyı koymayı unuttum ve haklısın java bilmiyorum sadece spigot ve bukkit üzerindeki eventleri biraz öğrenmeye çalışıyorum
 

Personinblack

YASAKLANDI
En iyi cevaplar
0
on enableyı koymayı unuttum ve haklısın java bilmiyorum sadece spigot ve bukkit üzerindeki eventleri biraz öğrenmeye çalışıyorum
Bu yüzden yaptığının yanlış olduğunu söylüyorum işte. Öncesinde Java öğren ki yaptığın işten zevk alabil ve neyi niye yaptığını bilebil. Aksi halde sürekli başkalarına sorarak hatalarını çözmeye çalışan bir lamer olarak kalırsın 1 metre ilerleyemezsin.
 

YgtGamingTR

Elmas Madencisi
En iyi cevaplar
0
Bu yüzden yaptığının yanlış olduğunu söylüyorum işte. Öncesinde Java öğren ki yaptığın işten zevk alabil ve neyi niye yaptığını bilebil. Aksi halde sürekli başkalarına sorarak hatalarını çözmeye çalışan bir lamer olarak kalırsın 1 metre ilerleyemezsin.
teşekkür ederim
hep diyordum neden hiçbir yaptığımı beğenmiyorsun diye
meğer iyiliğim içinmiş ._.
 

CoffeeBeat

Zindev
En iyi cevaplar
0
Böyle hataları deneye deneye çözersin.

Başka bir detaydan bahsediyim,PotionEffect constructorunun aldığı süre tick.
Yani 180 saniye yapmak istiyorsan şu şekilde olacak;
oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 180*20, 1));
 
Üst